Skip to content

ci: simplify and fix arm64 build #192

ci: simplify and fix arm64 build

ci: simplify and fix arm64 build #192

Workflow file for this run

name: Build
on:
push:
branches:
- '**'
tags-ignore:
- '*.*'
pull_request:
branches:
- '**'
jobs:
build:
name: Build node ${{ matrix.node }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [
macos-13,
macos-14,
macos-15,
ubuntu-22.04,
ubuntu-24.04,
ubuntu-24.04-arm,
windows-2022
]
node: [18, 20, 22, 24]
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: true
- name: Install Node v${{ matrix.node }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
- name: Install dependencies
run: npm install --build-from-source
- name: Package prebuild
run: npm run build
build_musl:
name: Build node ${{ matrix.node }} on ${{ matrix.os }} (musl)
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, ubuntu-24.04-arm]
node: [18, 20, 22, 24]
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: true
# Workaround https://github.com/actions/runner/issues/801
- name: Setup container
run: |
docker run --name runner --rm -it -d -v $PWD:/node-opus -w /node-opus node:${{ matrix.node }}-alpine
- name: Setup env with Node v${{ matrix.node }}
run: |
docker exec runner apk add --update
docker exec runner apk add --no-cache ca-certificates git curl build-base python3 g++ make
- name: Install dependencies
run: docker exec runner npm install --build-from-source
- name: Package prebuild
run: docker exec runner npm run build
- name: Stop container
run: docker rm -f runner