ci: add glibc 2.41 prebuilds for Debian 13/Raspberry Pi OS #240
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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-14, | |
| macos-15, | |
| macos-26, | |
| ubuntu-22.04, | |
| ubuntu-22.04-arm, | |
| ubuntu-24.04, | |
| ubuntu-24.04-arm, | |
| windows-2022, | |
| windows-2025 | |
| ] | |
| node: [20, 22, 24, 25] | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| with: | |
| submodules: true | |
| - name: Install Node v${{ matrix.node }} | |
| uses: actions/setup-node@v6 | |
| 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: [20, 22, 24, 25] | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| 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 | |
| build_glibc_241: | |
| name: Build node ${{ matrix.node }} on ${{ matrix.arch }} (glibc 2.41) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - os: ubuntu-latest | |
| arch: x64 | |
| node: 22 | |
| - os: ubuntu-24.04-arm | |
| arch: arm64 | |
| node: 22 | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| with: | |
| submodules: true | |
| - name: Setup container | |
| run: | | |
| docker run --name runner --rm -it -d -v $PWD:/node-opus -w /node-opus debian:trixie | |
| - name: Setup env with Node v${{ matrix.node }} | |
| run: | | |
| docker exec runner apt-get update | |
| docker exec runner apt-get install -y curl build-essential python3 git ca-certificates | |
| docker exec runner bash -c "curl -fsSL https://deb.nodesource.com/setup_${{ matrix.node }}.x | bash -" | |
| docker exec runner apt-get install -y nodejs | |
| - 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 |