Use GitHub macOS ARM runners for building ARM macOS binaries

GitHub introduced free macOS ARM runners on January, and my experience
using them in other projects to improve CI times and be able to actually
run tests on Apple Silicon Macs has been positive. Let's use them in
OxiPNG to hopefully speed up CI a bit, and finally be able to run the
test suite on AArch64 macOS.
This commit is contained in:
Alejandro González 2024-03-28 12:46:53 +01:00 committed by andrews05
parent fca76a7afb
commit db7da039fa

View file

@ -49,9 +49,9 @@ jobs:
- target: i686-pc-windows-msvc - target: i686-pc-windows-msvc
os: windows-latest os: windows-latest
- target: x86_64-apple-darwin - target: x86_64-apple-darwin
os: macos-latest os: macos-12
- target: aarch64-apple-darwin - target: aarch64-apple-darwin
os: macos-latest os: macos-14 # ARM64 runner
env: env:
CARGO_BUILD_TARGET: ${{ matrix.target }} CARGO_BUILD_TARGET: ${{ matrix.target }}
@ -122,19 +122,11 @@ jobs:
reporter: github-check reporter: github-check
fail_on_error: true fail_on_error: true
# There aren't good user-mode ARM64 emulators we can use on x64 macOS hosts.
# QEMU doesn't have any plans to add such support due to a lack of kernel
# syscall stability guarantees: https://gitlab.com/qemu-project/qemu/-/issues/1682
- name: Run tests - name: Run tests
if: matrix.target != 'aarch64-apple-darwin'
run: | run: |
cargo nextest run --release --features sanity-checks cargo nextest run --release --features sanity-checks
cargo test --doc --release --features sanity-checks cargo test --doc --release --features sanity-checks
- name: Build tests (ARM64 macOS only)
if: matrix.target == 'aarch64-apple-darwin'
run: cargo test --release --features sanity-checks --no-run
- name: Build benchmarks - name: Build benchmarks
run: cargo bench --no-run run: cargo bench --no-run