Skip to content

WCN-2596: Align Node.js versions across release and CI - #9664

Merged
zahin-mohammad merged 1 commit into
masterfrom
zahinmohammad/wcn-2596-fix-bitgojs-release-gate-to-use-nodejs-22
Sep 5, 2026
Merged

WCN-2596: Align Node.js versions across release and CI#9664
zahin-mohammad merged 1 commit into
masterfrom
zahinmohammad/wcn-2596-fix-bitgojs-release-gate-to-use-nodejs-22

Conversation

@zahin-mohammad

@zahin-mohammad zahin-mohammad commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Make the pre-publish bitgo tarball installation gate use node-version-file: '.nvmrc', currently Node.js 24.13.0.
  • Keep the blocking unit-test compatibility matrix explicit at 22.x and 24.x.
  • Make the single-version code-quality, browser-test, and dockerfile-check jobs use node-version-file: .nvmrc as well.
  • Include .nvmrc in the affected dependency-cache keys so an intentional Node.js upgrade cannot reuse the previous runtime's cache.
  • Remove the release workflow's redundant restore step because the gate no longer switches away from the repository runtime.

Why

The BitGoJS release job failed with EBADENGINE: bitgo@52.11.0 requires Node.js 22 or newer, but the pre-publish gate explicitly switched to Node.js 20.

The npm shrinkwrap is the published lockfile that pins dependency versions. This change validates it on the same explicitly reviewed Node.js version used by the repository and release workflow. Rolling selectors such as lts/* and lts/-1 are intentionally avoided because they can advance CI without a source change or code review.

Warning

The release gate now validates the .nvmrc runtime, currently Node.js 24.13.0, rather than the minimum supported Node.js 22 line. The explicit unit-test matrix continues to cover 22.x compatibility.

Validation

  • Parsed .github/workflows/npmjs-release.yml and .github/workflows/ci.yml with the repository's JavaScript YAML parser: YAML parse: OK.
  • Verified the release gate and every non-matrix actions/setup-node@v6 step in ci.yml use node-version-file: .nvmrc.
  • Verified the blocking unit-test matrix remains [22.x, 24.x].
  • Verified the obsolete release-runtime restore step is absent.
  • Ran git diff --check successfully.
  • Ran yarn commitlint --from=origin/master -V: 0 problems, 0 warnings.

Risk

Low. Node.js upgrades remain explicit changes to .nvmrc, and the cache keys change with that file. The release guard still runs before the bitgo publication step with engine-strict=true, which makes npm reject incompatible engine ranges.

Ticket

WCN-2596: Align BitGoJS Node.js versions across release and CI

@linear-code

linear-code Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

WCN-2596

@zahin-mohammad
zahin-mohammad force-pushed the zahinmohammad/wcn-2596-fix-bitgojs-release-gate-to-use-nodejs-22 branch from ccddb01 to 67355de Compare September 4, 2026 22:39
@zahin-mohammad zahin-mohammad changed the title WCN-2596: Run BitGoJS release gate on Node 22 WCN-2596: Align Node.js versions across release and CI Sep 4, 2026
Keep the compatibility matrix on explicit Node.js major lines.
Use .nvmrc for the release gate and single-version CI jobs and cache keys.

TICKET: WCN-2596
@zahin-mohammad
zahin-mohammad force-pushed the zahinmohammad/wcn-2596-fix-bitgojs-release-gate-to-use-nodejs-22 branch from 67355de to 0fb22b5 Compare September 4, 2026 22:41
@zahin-mohammad
zahin-mohammad marked this pull request as ready for review September 4, 2026 22:43
@zahin-mohammad
zahin-mohammad requested review from a team as code owners September 4, 2026 22:43

@danielpeng1 danielpeng1 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.

lgtm

@zahin-mohammad
zahin-mohammad merged commit b53a591 into master Sep 5, 2026
24 checks passed
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