napi-rs/.github/workflows/linux-aarch64.yaml
2023-04-11 10:47:52 +08:00

65 lines
1.6 KiB
YAML

name: Linux-aarch64
env:
DEBUG: 'napi:*'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
push:
branches:
- main
pull_request:
jobs:
build:
name: stable - aarch64-unknown-linux-gnu - node@18
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup node
uses: actions/setup-node@v3
with:
node-version: 18
cache: 'yarn'
- name: Install
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
targets: aarch64-unknown-linux-gnu
- name: Cache cargo
uses: actions/cache@v3
with:
path: |
~/.cargo/registry
~/.cargo/git
key: stable-linux-aarch64-gnu-node@18-cargo-cache
- name: Install ziglang
uses: goto-bus-stop/setup-zig@v2
with:
version: 0.10.1
- name: Install dependencies
run: |
yarn config set --json supportedArchitectures.cpu '["current", "arm64"]'
yarn config set supportedArchitectures.libc "glibc"
yarn install --immutable --mode=skip-build
- name: Cross build native tests
run: yarn build:test -- --target aarch64-unknown-linux-gnu --cross-compile
- run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
- name: Setup and run tests
uses: addnab/docker-run-action@v3
with:
image: node:lts-slim
options: --platform linux/arm64 -v ${{ github.workspace }}:/build -w /build
run: yarn test