Skip to content

ci(gh-actions): drop node 20 and add node 24 - #2656

Merged
madhavilosetty-intel merged 2 commits into
mainfrom
ci/drop-node-20-add-node-24
Sep 8, 2026
Merged

ci(gh-actions): drop node 20 and add node 24#2656
madhavilosetty-intel merged 2 commits into
mainfrom
ci/drop-node-20-add-node-24

Conversation

@madhavilosetty-intel

@madhavilosetty-intel madhavilosetty-intel commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Drops Node 20 and adds Node 24 to the test matrix.

Why drop 20

The test matrix has run only 22.x for some time, but release.yml and semantic.yml were still pinned to 20.x — the only workflows left on it. Meanwhile 47 packages on main already declare node >=22 (@augment-vir/*, @date-vir/*, got, @sindresorhus/is, …), so npm ci on Node 20 emits a wall of EBADENGINE warnings today. They are warnings rather than errors only because there is no .npmrc setting engine-strict.

Changes

file change
package.json engines.node: >=20>=22
.github/workflows/release.yml 20.x22.x (+ step label)
.github/workflows/semantic.yml 20.x22.x (+ step label)
.github/workflows/node.js.yml matrix [22.x][22.x, 24.x]

Verification

Run locally on Node v24.9.0, against both current main (vitest 4) and the vitest 5 branch from #2654, so this is safe to merge in either order:

  • npm ci — installs clean, zero EBADENGINE warnings
  • npm test — 92 test files, 969 tests pass
  • npm run build (tsc) — clean

The test matrix has run only 22.x for a while, and many devDependencies already
require node >=22 -- npm ci on Node 20 emits EBADENGINE warnings for 47 packages
on main today. Keeping release and semantic on 20.x meant those two workflows
were the only ones still on an unsupported version.

Moves release.yml and semantic.yml to 22.x, raises engines.node to >=22, and
adds 24.x to the test matrix.

Verified locally on Node v24.9.0: npm ci installs with no EBADENGINE warnings,
92 test files and 969 tests pass, and the tsc build is clean -- on both current
main (vitest 4) and the vitest 5 branch in #2654.

node.js.yml still has two steps gated on matrix.node-version == '20.x'
(ci-prettify and the codecov upload) that have therefore never run. Left as-is
here because re-enabling ci-prettify fails on 10 drifted files; separate PR.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The changes are limited to CI and engine-version declarations and are internally consistent with the stated goal of dropping Node 20 and adding Node 24 to testing.

Pull request overview

This PR updates the repository’s supported and CI-tested Node.js versions to align with current dependency engine requirements and eliminate Node 20 usage in GitHub Actions workflows.

Changes:

  • Bump package.json engines.node from >=20 to >=22.
  • Update release.yml and semantic.yml workflows to use Node.js 22.x instead of 20.x.
  • Expand the CI matrix in node.js.yml to test on Node.js 22.x and 24.x.
File summaries
File Description
package.json Raises the declared minimum Node.js engine version to >=22.
.github/workflows/semantic.yml Switches the PR/commit validation job from Node 20.x to 22.x.
.github/workflows/release.yml Switches the release workflow from Node 20.x to 22.x.
.github/workflows/node.js.yml Adds Node 24.x to the test matrix alongside 22.x.
Review details
  • Files reviewed: 4/4 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@madhavilosetty-intel
madhavilosetty-intel merged commit 963415f into main Sep 8, 2026
12 checks passed
@madhavilosetty-intel
madhavilosetty-intel deleted the ci/drop-node-20-add-node-24 branch September 8, 2026 19:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants