Skip to content

ci: modernize node setup and pin npm for reproducible installs#887

Merged
PaulHax merged 2 commits into
Kitware:mainfrom
PaulHax:ci-modernize-deps
Jun 2, 2026
Merged

ci: modernize node setup and pin npm for reproducible installs#887
PaulHax merged 2 commits into
Kitware:mainfrom
PaulHax:ci-modernize-deps

Conversation

@PaulHax
Copy link
Copy Markdown
Collaborator

@PaulHax PaulHax commented Jun 2, 2026

What

Why

The Dependabot PRs were all failing npm ci ("Missing: chokidar from lock file"). Root cause: Dependabot regenerated package-lock.json with a different npm than the one that produced main's lock, dropping nested subtrees that npm ci then rejected. main itself was fine.

Pinning packageManager makes CI, local dev, and Dependabot resolve the lock with the same npm (10.9.8), so future Dependabot updates stay consistent. No corepack needed: plain npm ignores the field, Dependabot reads it.

The setup-node v1 → v4 bump also clears the deprecation warning (v1 ran on the now-removed Node 20 actions runtime). Pinning e2e to Node 22 guards against the runner default later moving to Node 24, which breaks the wdio e2e worker bootstrap.

Closes the need for #875, #876, #882, #883, #884.

@netlify
Copy link
Copy Markdown

netlify Bot commented Jun 2, 2026

Deploy Preview for volview-dev ready!

Name Link
🔨 Latest commit 6159a84
🔍 Latest deploy log https://app.netlify.com/projects/volview-dev/deploys/6a1f4db8fa7cdf000876252b
😎 Deploy Preview https://deploy-preview-887--volview-dev.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

PaulHax added 2 commits June 2, 2026 17:38
Upgrade actions/setup-node v1 to v4 on Node 22 with npm caching in
checks.yml, and add an explicit setup-node step to e2e.yml so the e2e
job is pinned to Node 22 instead of floating with the runner default.

Pin the package manager with "packageManager": "npm@10.9.8" so CI, local
dev, and Dependabot all resolve package-lock.json with the same npm.
This is what Dependabot was missing: it regenerated the lock with a
different npm, dropping nested subtrees that `npm ci` then rejected.
- fast-uri 3.1.1 -> 3.1.2 (Kitware#875)
- @babel/plugin-transform-modules-systemjs 7.29.0 -> 7.29.7 (Kitware#876)
- js-cookie 3.0.5 -> 3.0.8 (Kitware#882)
- qs 6.15.1 -> 6.15.2 (Kitware#883)
- tmp 0.2.5 -> 0.2.7 (Kitware#884)
@PaulHax PaulHax force-pushed the ci-modernize-deps branch from 015b826 to 6159a84 Compare June 2, 2026 21:40
@PaulHax PaulHax changed the title ci: migrate to Node 24 and pin npm 11 via corepack ci: modernize node setup and pin npm for reproducible installs Jun 2, 2026
@PaulHax PaulHax added this pull request to the merge queue Jun 2, 2026
Merged via the queue into Kitware:main with commit 836069e Jun 2, 2026
8 checks passed
@PaulHax PaulHax deleted the ci-modernize-deps branch June 2, 2026 21:57
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