mach/.github/workflows/m1_ci.yml
2022-12-18 18:02:31 -07:00

37 lines
1.5 KiB
YAML

name: CI
on:
# SECURITY: This must be a push event only, otherwise our M1 mac runner would be compromised by
# third-party pull requests which could run arbitrary code. This way, we can restrict it to
# collaborators of the repository only.
#
# Whenever GitHub Actions gets official M1 support, we can use that for PRs and get rid of this
# self-hosted runner: https://github.com/actions/virtual-environments/issues/2187
- push
jobs:
aarch64-macos:
if: ${{ github.repository == 'hexops/mach' }}
runs-on: [self-hosted, macOS, ARM64]
defaults:
run:
shell: '/usr/bin/arch -arch arm64e /bin/bash --noprofile --norc -eo pipefail {0}'
steps:
- name: Clean repository submodules
# See https://github.com/actions/checkout/issues/385
run: |
rm -rf $GITHUB_WORKSPACE && mkdir $GITHUB_WORKSPACE
- name: Checkout
uses: actions/checkout@v2
- name: Setup Zig
run: |
sudo rm -rf /usr/local/bin/zig /usr/local/bin/lib/
sudo sh -c 'wget -c https://ziglang.org/builds/zig-macos-aarch64-0.11.0-dev.829+68d2f68ed.tar.xz -O - | tar -xJ --strip-components=1 -C /usr/local/bin'
- name: mach::test
run: zig build test
env:
AGREE: true
- name: compile all examples
run: zig build compile-all
env:
AGREE: true
- name: compile all examples (WASM)
run: zig build compile-all -Dtarget=wasm32-freestanding-none