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

54 lines
1.5 KiB
YAML

name: Linux-aarch64-musl
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 dependencies
run: |
yarn config set --json supportedArchitectures.cpu '["current", "arm64"]'
yarn config set --json supportedArchitectures.libc '["current", "musl"]'
yarn install --immutable --mode=skip-build
- name: Cross build native tests
uses: addnab/docker-run-action@v3
with:
image: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine
options: -v ${{ github.workspace }}:/napi-rs -w /napi-rs
run: |
export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_LINKER=aarch64-linux-musl-gcc
yarn build:test -- --target aarch64-unknown-linux-musl
- 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-alpine
options: --platform linux/arm64 -v ${{ github.workspace }}:/build -w /build
run: |
set -e
yarn test