c39e80231c
* update zig bindings to Zig 0.12.0 * support zig package manager * Fix zig macos ci build * Make the macos build use 1 process instead of hitting the macos process limit immediately, utilize the build.zig `-Dparallel false` option for macos ci * Split the macos ci into a new build stage (out of the ubuntu, macos build maxtrix), to allow for multiple architecture builds in the future after the zig bindings improve
108 lines
2.9 KiB
YAML
108 lines
2.9 KiB
YAML
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@v3
|
|
with:
|
|
submodules: recursive
|
|
fetch-depth: 0
|
|
- uses: goto-bus-stop/setup-zig@v2
|
|
with:
|
|
version: 0.12.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@v3
|
|
with:
|
|
submodules: recursive
|
|
fetch-depth: 0
|
|
- uses: goto-bus-stop/setup-zig@v2
|
|
with:
|
|
version: 0.12.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@v3
|
|
# 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
|
|
|