Separate QEMU linux and win32 CI builds in different jobs #84
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
jobs: | |
build-gcc: | |
name: GCC toolchain build | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Install dependencies | |
run: | | |
sudo ./scripts/install-apt-dependencies | |
- name: Build Linux | |
run: | | |
mkdir build-linux | |
cd build-linux | |
export CFLAGS="-O2" | |
export CXXFLAGS="-O2" | |
export LDFLAGS="-static -s" | |
../configure --prefix /opt/gcc/linux | |
make -j$(nproc) stamps/build-gcc-stage2 | |
- name: Build Win32 | |
run: | | |
cd build-linux/build-newlib | |
make install prefix=/opt/gcc/win32 | |
cd ../.. | |
mkdir build-win32 | |
cd build-win32 | |
export CFLAGS="-O2" | |
export CXXFLAGS="-O2" | |
export LDFLAGS="-static -s" | |
../configure --prefix /opt/gcc/win32 --with-host=x86_64-w64-mingw32 | |
make -j$(nproc) stamps/build-binutils-tc | |
export PATH="/opt/gcc/linux/bin:$PATH" | |
make -j$(nproc) stamps/build-gcc-stage2-only | |
- name: Package | |
run: | | |
cd /opt/gcc/linux | |
rm -rf deps | |
zip -r9 ../gcc-linux.zip . | |
cd /opt/gcc/win32 | |
rm -rf deps | |
zip -r9 ../gcc-win32.zip . | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
if-no-files-found: error | |
name: tricore-gcc-artifacts | |
path: /opt/gcc/*.zip | |
build-qemu-linux: | |
name: QEMU linux build | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Install dependencies | |
run: | | |
sudo ./scripts/install-apt-dependencies | |
- name: Build Linux | |
run: | | |
mkdir build-linux | |
cd build-linux | |
../configure --prefix /opt/gcc/linux | |
make -j$(nproc) stamps/build-qemu | |
- name: Package | |
run: | | |
cd /opt/gcc/linux | |
zip -r9 ../qemu-linux.zip bin/qemu-system-tricore share | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
if-no-files-found: error | |
name: tricore-qemu-linux-artifacts | |
path: /opt/gcc/*.zip | |
build-qemu-win32: | |
name: QEMU win32 build | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Install dependencies | |
run: | | |
sudo ./scripts/install-apt-dependencies | |
- name: Build Win32 | |
run: | | |
mkdir build-win32 | |
cd build-win32 | |
../configure --prefix /opt/gcc/win32 --with-host=x86_64-w64-mingw32 | |
make -j$(nproc) stamps/build-qemu | |
- name: Package | |
run: | | |
cd /opt/gcc/win32 | |
zip -r9 ../qemu-win32.zip bin/qemu-system-tricore.exe share | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
if-no-files-found: error | |
name: tricore-qemu-win32-artifacts | |
path: /opt/gcc/*.zip |