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