Skip to content

ci(SEC-104): read the Node version from .nvmrc in workflows - #7

Merged
glebedel merged 1 commit into
mainfrom
s2d2/node-version-single-source
Oct 26, 2026
Merged

glebedel merged 1 commit into
mainfrom
s2d2/node-version-single-source

Conversation

@glebedel

Copy link
Copy Markdown
Contributor

Summary

Every actions/setup-node step now reads node-version-file: .nvmrc instead of a hardcoded node-version. .nvmrc becomes the only place that sets the Node version for CI and local development (currently 22.23.4).

Why

SEC-104 (CVE-2026-111497) needed every Node bump to be made twice, once in the app's version source and once in each workflow, and some workflows were missed. With one source, the next bump is a one-line change.

Changes

  • Add .nvmrc with 22.23.4.
  • .github/workflows/validate.yml: 3 steps (was 22).
  • 3 steps were on a floating or outdated pin and now run the exact version above.

Checks

  • Every changed workflow and action still parses as YAML.
  • Every node-version-file target exists at the path the job checks the repo out to.

Dockerfile base images are not touched. They are pinned by digest, so they still need their own bump.

Requested by guillaume@stackone.com in Slack.

🤖 Generated with Claude Code

Workflows pinned Node separately from the repo's own version source, so
every Node bump had to be made twice. setup-node now reads
node-version-file: .nvmrc, which makes .nvmrc the only place to change.

- Add .nvmrc with 22.23.4.
- .github/workflows/validate.yml: 3 steps (was 22).
- 3 steps were on a floating or outdated pin and now run the exact version above.

Requested by guillaume@stackone.com in Slack.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings October 26, 2026 16:30

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing. Review the Copilot code review billing settings.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

No issues found across 2 files

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

Auto-approved: CI-only change that adds .nvmrc and makes three setup-node steps read the Node version from it instead of the floating major 22, pinning to exact 22.23.4. This creates a single source of truth for the Node version, is easily reversible, and has no product or operational impact.

View guided diff | Turn on auto-fix | Re-trigger cubic

@glebedel
glebedel merged commit 5727cbb into main Oct 26, 2026
7 of 8 checks passed
@glebedel
glebedel deleted the s2d2/node-version-single-source branch October 26, 2026 17:38
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