From c23876c4b4a4816cdd14cba15e6312cfc54486ae Mon Sep 17 00:00:00 2001 From: comet Date: Thu, 5 Mar 2026 19:57:47 +0800 Subject: [PATCH 1/3] ci: build linux arm64 prebuilds --- .github/workflows/github_release.yml | 18 +++++++++++++++--- .github/workflows/test.yml | 7 ++++++- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/.github/workflows/github_release.yml b/.github/workflows/github_release.yml index 59ef9af..13e2c93 100644 --- a/.github/workflows/github_release.yml +++ b/.github/workflows/github_release.yml @@ -1,6 +1,12 @@ name: GitHub Release on: + workflow_dispatch: + inputs: + tag: + description: 'Release tag (e.g. v3.5.5)' + required: true + type: string push: tags: - 'v*' @@ -12,17 +18,23 @@ jobs: contents: write strategy: matrix: - os: [ubuntu-latest, windows-latest, macos-latest] + os: [ubuntu-latest, ubuntu-22.04-arm, windows-latest, macos-latest] node-version: [18.x, 20.x, 22.x] steps: - uses: actions/checkout@v4 with: submodules: recursive + ref: ${{ inputs.tag || github.ref_name }} - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} + - name: Install build deps (Linux) + if: startsWith(matrix.os, 'ubuntu') + run: | + sudo apt-get update + sudo apt-get install -y build-essential python3 - run: npm ci - run: npm test - name: Package Binary @@ -35,8 +47,8 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: - tag_name: ${{ github.ref_name }} - name: ${{ github.ref_name }} + tag_name: ${{ inputs.tag || github.ref_name }} + name: ${{ inputs.tag || github.ref_name }} draft: false prerelease: false generate_release_notes: true diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b8a07b7..1e584e9 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -17,7 +17,7 @@ jobs: matrix: node-version: [18.x, 20.x, 22.x] # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ - os: [ubuntu-latest, macos-latest, windows-latest] + os: [ubuntu-latest, ubuntu-22.04-arm, macos-latest, windows-latest] steps: @@ -29,5 +29,10 @@ jobs: with: node-version: ${{ matrix.node-version }} cache: 'npm' + - name: Install build deps (Linux) + if: startsWith(matrix.os, 'ubuntu') + run: | + sudo apt-get update + sudo apt-get install -y build-essential python3 - run: npm ci - run: npm test From 019cfb2901e24d300609b80ece64fecd1f9a85db Mon Sep 17 00:00:00 2001 From: comet Date: Thu, 5 Mar 2026 20:20:22 +0800 Subject: [PATCH 2/3] ci: include node 16 in build matrix --- .github/workflows/github_release.yml | 2 +- .github/workflows/test.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/github_release.yml b/.github/workflows/github_release.yml index 13e2c93..2ca0604 100644 --- a/.github/workflows/github_release.yml +++ b/.github/workflows/github_release.yml @@ -19,7 +19,7 @@ jobs: strategy: matrix: os: [ubuntu-latest, ubuntu-22.04-arm, windows-latest, macos-latest] - node-version: [18.x, 20.x, 22.x] + node-version: [16.x, 18.x, 20.x, 22.x] steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1e584e9..42ddc76 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,7 +15,7 @@ jobs: strategy: matrix: - node-version: [18.x, 20.x, 22.x] + node-version: [16.x, 18.x, 20.x, 22.x] # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ os: [ubuntu-latest, ubuntu-22.04-arm, macos-latest, windows-latest] From d7787aaae1e320ceb62576908339f385ee9917db Mon Sep 17 00:00:00 2001 From: comet Date: Fri, 6 Mar 2026 17:48:20 +0800 Subject: [PATCH 3/3] ci: pin python for node-gyp builds --- .github/workflows/github_release.yml | 4 ++++ .github/workflows/test.yml | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/.github/workflows/github_release.yml b/.github/workflows/github_release.yml index 2ca0604..2597266 100644 --- a/.github/workflows/github_release.yml +++ b/.github/workflows/github_release.yml @@ -30,6 +30,10 @@ jobs: uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} + - name: Use Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: '3.11' - name: Install build deps (Linux) if: startsWith(matrix.os, 'ubuntu') run: | diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 42ddc76..81838dd 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -29,6 +29,10 @@ jobs: with: node-version: ${{ matrix.node-version }} cache: 'npm' + - name: Use Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: '3.11' - name: Install build deps (Linux) if: startsWith(matrix.os, 'ubuntu') run: |