Skip to content

fix: support cross compilation #5

fix: support cross compilation

fix: support cross compilation #5

Workflow file for this run

name: Build and Test
on:
push:
branches:
- main
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
x86_64:
name: x86_64
runs-on: ${{ matrix.os }}
timeout-minutes: 10
strategy:
fail-fast: false
matrix:
os: [macos-12, macos-13, ubuntu-20.04, ubuntu-22.04, windows-2019, windows-2022]
node: [20, 21]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Use Node.js v${{ matrix.node }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
cache: yarn
registry-url: https://registry.yarnpkg.org/
- name: Install dependencies
run: yarn --mode=skip-build
- name: Build from source
run: yarn build:from-source
- name: Package
run: yarn build
- name: Test
run: yarn vitest run
aarch64:
name: aarch64
runs-on: ${{ matrix.os }}
timeout-minutes: 10
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04, ubuntu-22.04]
node: [20, 21]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Use Node.js v${{ matrix.node }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
cache: yarn
registry-url: https://registry.yarnpkg.org/
- name: Install dependencies
run: yarn --mode=skip-build
- name: Build from source
run: yarn build:from-source
- name: Package build
run: |
sudo apt-get update
sudo apt-get install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu
CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ yarn node-pre-gyp --target_arch=arm64 configure build package
- name: Build TypeScript
run: yarn tsc --build
- name: Test
run: yarn vitest run