Upgrade CI Node.js to supported 22/24/25 set#7449
Conversation
Co-authored-by: DennisOSRM <1067895+DennisOSRM@users.noreply.github.com>
Co-authored-by: DennisOSRM <1067895+DennisOSRM@users.noreply.github.com>
Co-authored-by: DennisOSRM <1067895+DennisOSRM@users.noreply.github.com>
Co-authored-by: DennisOSRM <1067895+DennisOSRM@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Updates the GitHub Actions workflow to move CI Node.js usage forward (notably on Windows and in the main build matrix), aiming to align CI with currently supported Node versions for building/testing the Node bindings and related tooling.
Changes:
- Bump Windows CI job Node.js version from 20 to 24.
- Switch the formatting/taginfo/docs job to use a floating Node.js
latest. - Standardize
build-matrixNode.js versions to 24, and update Node package test steps to run on 22 and 24.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| uses: actions/setup-node@v4 | ||
| with: | ||
| node-version: 20 | ||
| node-version: latest |
There was a problem hiding this comment.
node-version: latest makes this job’s runtime Node major float over time, which can introduce sudden CI failures unrelated to code changes. If the intent is to validate the supported set mentioned in the PR title, pin this to an explicit supported major (e.g., 24 or 25) and optionally keep a separate canary job for latest if desired.
| node-version: latest | |
| node-version: 24 |
| - name: Use Node 22 | ||
| if: ${{ matrix.NODE_PACKAGE_TESTS_ONLY == 'ON' }} | ||
| uses: actions/setup-node@v4 | ||
| with: | ||
| node-version: 20 | ||
| - name: Run Node package tests on Node 20 | ||
| node-version: 22 | ||
| - name: Run Node package tests on Node 22 | ||
| if: ${{ matrix.NODE_PACKAGE_TESTS_ONLY == 'ON' }} | ||
| run: | | ||
| node --version | ||
| npm run nodejs-tests | ||
| - name: Use Node 22 | ||
| - name: Use Node 24 | ||
| if: ${{ matrix.NODE_PACKAGE_TESTS_ONLY == 'ON' }} | ||
| uses: actions/setup-node@v4 | ||
| with: | ||
| node-version: 22 | ||
| - name: Run Node package tests on Node 22 | ||
| node-version: 24 | ||
| - name: Run Node package tests on Node 24 |
There was a problem hiding this comment.
The PR title/description says the CI should use the supported 22/24/25 set, but the workflow currently runs Node package tests only on 22 and 24 (and elsewhere uses latest rather than an explicit 25). Consider adding an explicit Node 25 run (and/or replacing latest with 25) so CI consistently exercises the declared supported versions.
| @@ -183,7 +183,7 @@ jobs: | |||
|
|
|||
| - name: clang-19-release | |||
| continue-on-error: false | |||
| node: 22 | |||
| node: 24 | |||
| runs-on: ubuntu-24.04 | |||
| BUILD_TYPE: Release | |||
| CCOMPILER: clang-19 | |||
| @@ -192,7 +192,7 @@ jobs: | |||
|
|
|||
| - name: clang-18-release | |||
| continue-on-error: false | |||
| node: 22 | |||
| node: 24 | |||
| runs-on: ubuntu-24.04 | |||
| BUILD_TYPE: Release | |||
| CCOMPILER: clang-18 | |||
| @@ -201,7 +201,7 @@ jobs: | |||
|
|
|||
| - name: clang-18-debug | |||
| continue-on-error: false | |||
| node: | |||
| node: 24 | |||
| runs-on: ubuntu-24.04 | |||
| BUILD_TYPE: Debug | |||
There was a problem hiding this comment.
The build matrix now pins matrix.node to 24 for all compiler/config entries, which removes coverage for the other supported Node majors implied by the PR title (22/24/25). If Node is a supported runtime for the bindings/package, consider adding at least one build/test variant that runs with Node 22 and Node 25 (or introducing a small Node-version axis for the Node-related jobs) to keep CI aligned with the support policy.
Uh oh!
There was an error while loading. Please reload this page.