Skip to content

fix(ci): read the Node version from .nvmrc instead of pinning it inline - #73

Merged
3uzbcqje merged 2 commits into
mainfrom
chore/pin-node-via-nvmrc
Sep 13, 2026
Merged

3uzbcqje merged 2 commits into
mainfrom
chore/pin-node-via-nvmrc

Conversation

@3uzbcqje

Copy link
Copy Markdown
Collaborator

The drift

pr-ci.yml hardcoded node-version: "20.11.1". The Dockerfile's base image is on a different track — Dependabot bumps it, because a docker image tag is something it manages, but it cannot see a version string inside workflow YAML. So CI and the image drifted apart with nothing to catch it.

That surfaced on #72, where @rstest/core, @rsbuild/core and @rspack/core all declare:

required: { node: '^20.19.0 || >=22.12.0' }
current:  { node: 'v20.11.1', npm: '10.2.4' }

CI's Node no longer satisfied what the dependencies asked for.

The change

What this does not fix

#72 also fails on an unrelated Dependabot lockfile bug — @rstest/core@0.11.12 vendors @rspack/core@2.2.2, which needs @module-federation/* ^0.24.1 || ^2.0.0, but the lockfile carries only 0.22.0 and no nested 2.x tree. npm ci reports those six packages as missing from the lock. That needs the PR recreated or the lockfile regenerated, separately from this.

Remaining drift

.nvmrc and the Dockerfile tag still have to be moved together by hand — Dependabot updates the image tag but will not touch .nvmrc. This narrows the problem from two places to two places that are now one line apart and commented, rather than one being invisible. Genuinely closing it would mean templating the Dockerfile FROM from .nvmrc at build time, which is a bigger change than this warrants.

🤖 Generated with Claude Code

https://claude.ai/code/session_01XKNMLCKoVr8Xz1HePmDBXs

3uzbcqje and others added 2 commits September 13, 2026 16:00
CI hardcoded node-version: "20.11.1" while the Dockerfile base image moved
to 20.20.2. Dependabot bumps the Dockerfile because that is a docker image
tag it manages, but it cannot see a version string in workflow YAML, so the
two drifted with nothing to catch it.

That drift surfaced on #72: @rstest/core, @rsbuild/core and @rspack/core all
require ^20.19.0 || >=22.12.0, which CI's 20.11.1 does not satisfy.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XKNMLCKoVr8Xz1HePmDBXs
@coderabbitai

coderabbitai Bot commented Sep 13, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: f1b70cbb-1b6b-477c-b94f-a4f3217a2f83


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@3uzbcqje
3uzbcqje merged commit 31c0b26 into main Sep 13, 2026
2 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.

1 participant