Feat: Option to manually specify the build type in the workflow (#2034) #241
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: Zig Build | |
on: | |
push: | |
paths-ignore: | |
- ".gitignore" | |
- "docs/**" | |
- "README" | |
- "CREDITS.TXT" | |
- "COPYING_GLIB" | |
- "COPYING.LGPL2" | |
- "AUTHORS.TXT" | |
- "CHANGELOG" | |
- "COPYING" | |
pull_request: | |
jobs: | |
build-ubuntu: | |
strategy: | |
fail-fast: false | |
matrix: | |
runs-on: [ubuntu-latest] | |
runs-on: ${{ matrix.runs-on }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
fetch-depth: 0 | |
- uses: goto-bus-stop/setup-zig@v2 | |
with: | |
version: 0.13.0 | |
- uses: lukka/get-cmake@latest | |
with: | |
cmakeVersion: latest | |
ninjaVersion: latest | |
- name: CMake Build | |
run: zig build cmake | |
- name: Build Summary | |
run: zig build --summary all -freference-trace | |
build-macos: | |
strategy: | |
fail-fast: false | |
matrix: | |
runs-on: [macos-latest] | |
runs-on: ${{ matrix.runs-on }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
fetch-depth: 0 | |
- uses: goto-bus-stop/setup-zig@v2 | |
with: | |
version: 0.13.0 | |
- uses: lukka/get-cmake@latest | |
with: | |
cmakeVersion: latest | |
ninjaVersion: latest | |
# MacOS has a hard process limit that we will hit if we do a | |
# parallel build, so disable parallel cmake build (manual | |
# option set in `build.zig`) | |
- name: CMake Build | |
run: zig build -Dparallel=false cmake | |
- name: Build Summary | |
run: zig build --summary all -freference-trace | |
# =================================================================== | |
# zig-mingw: | |
# runs-on: windows-latest | |
# strategy: | |
# fail-fast: false | |
# matrix: | |
# include: [{ msystem: CLANG64, arch: x86_64, prefix: /clang64 }, { msystem: CLANG32, arch: i686, prefix: /clang32 }, { msystem: CLANGARM64, arch: aarch64, prefix: /clangarm64 }] | |
# steps: | |
# - uses: actions/checkout@v4 | |
# with: | |
# path: temp | |
# submodules: recursive | |
# fetch-depth: 0 | |
# - uses: goto-bus-stop/setup-zig@v2 | |
# with: | |
# version: master | |
# - uses: msys2/setup-msys2@v2 | |
# with: | |
# msystem: ${{ matrix.msystem }} | |
# path-type: inherit | |
# location: D:\ | |
# install: git mingw-w64-clang-${{ matrix.arch }}-cmake | |
# update: true | |
# - name: Move Checkout | |
# run: | | |
# Copy-Item -Path ".\temp" -Destination "C:\_" -Recurse | |
# - name: Build Summary - ${{ matrix.arch }} | |
# shell: msys2 {0} | |
# run: | | |
# cd /C/_ | |
# zig build cmake | |
# if [${{ matrix.config.arch }} == 'i686' ]; then | |
# zig build --summary all -freference-trace -Dtarget=x86-windows | |
# else | |
# zig build --summary all -freference-trace -Dtarget=${{ matrix.arch }}-windows | |
# fi | |