feat(ci): add universal macOS build support

This commit is contained in:
Chance 2025-04-21 19:48:55 -04:00
parent d63645fa6b
commit b23f5794fc
Signed by: caznix
GPG key ID: 489D213143D753FD

View file

@ -44,7 +44,7 @@ jobs:
cargo-test: cargo-test:
name: 🧪 Run Cargo Tests name: 🧪 Run Cargo Tests
needs: [setup] needs: setup
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: 📥 Checkout source - name: 📥 Checkout source
@ -52,6 +52,7 @@ jobs:
- name: 🗄️ Restore Cargo cache - name: 🗄️ Restore Cargo cache
uses: https://github.com/actions/cache@v4 uses: https://github.com/actions/cache@v4
id: restore-cargo-cache
with: with:
path: | path: |
~/.cargo/registry ~/.cargo/registry
@ -76,7 +77,7 @@ jobs:
- name: 🚀 Run tests - name: 🚀 Run tests
uses: https://github.com/actions-rs/cargo@v1 uses: https://github.com/actions-rs/cargo@v1
with: with:
command: test command: test
args: --release --all args: --release --all
@ -92,6 +93,8 @@ jobs:
- x86_64-unknown-linux-gnu - x86_64-unknown-linux-gnu
- aarch64-unknown-linux-gnu - aarch64-unknown-linux-gnu
- x86_64-pc-windows-msvc - x86_64-pc-windows-msvc
- aarch64-pc-windows-msvc
- universal2-apple-darwin
include: include:
- target: x86_64-unknown-linux-gnu - target: x86_64-unknown-linux-gnu
binary_name: zenyx-x86_64-linux binary_name: zenyx-x86_64-linux
@ -104,10 +107,20 @@ jobs:
command: zigbuild command: zigbuild
args: --target aarch64-unknown-linux-gnu --release args: --target aarch64-unknown-linux-gnu --release
- target: x86_64-pc-windows-msvc - target: x86_64-pc-windows-msvc
binary_name: zenyx-x86_64-windows-msvc binary_name: zenyx-x86_64-windows
ext: ".exe" ext: ".exe"
command: xwin command: xwin
args: build --target x86_64-pc-windows-msvc --release args: build --target x86_64-pc-windows-msvc --release
- target: aarch64-pc-windows-msvc
binary_name: zenyx-aarch64-windows
ext: ".exe"
command: xwin
args: build --target aarch64-pc-windows-msvc --release
- target: universal2-apple-darwin
binary_name: zenyx-universal-macos
ext: ""
command: zigbuild
args: --target universal2-apple-darwin --release
steps: steps:
- name: 📥 Checkout source - name: 📥 Checkout source
@ -115,6 +128,7 @@ jobs:
- name: 🗄️ Restore tool cache - name: 🗄️ Restore tool cache
uses: https://github.com/actions/cache@v4 uses: https://github.com/actions/cache@v4
id: restore-tools-cache
with: with:
path: | path: |
~/.cargo/bin ~/.cargo/bin
@ -136,6 +150,7 @@ jobs:
- name: 🗄️ Restore Cargo cache - name: 🗄️ Restore Cargo cache
uses: https://github.com/actions/cache@v4 uses: https://github.com/actions/cache@v4
id: restore-cargo-cache
with: with:
path: | path: |
~/.cargo/registry ~/.cargo/registry
@ -159,9 +174,10 @@ jobs:
run: | run: |
mkdir -p artifacts mkdir -p artifacts
cp target/${{ matrix.target }}/release/zenyx${{ matrix.ext }} artifacts/${{ matrix.binary_name }} cp target/${{ matrix.target }}/release/zenyx${{ matrix.ext }} artifacts/${{ matrix.binary_name }}
- name: ⬆️ Upload artifact - name: ⬆️ Upload artifact
uses: https://code.forgejo.org/forgejo/upload-artifact@v4 uses: https://code.forgejo.org/forgejo/upload-artifact@v4
with: with:
name: ${{ matrix.binary_name }}${{ matrix.ext }}.zip name: ${{ matrix.binary_name }}${{ matrix.ext }}
path: artifacts path: artifacts/${{ matrix.binary_name }}${{ matrix.ext }}
if-no-files-found: error