-
Notifications
You must be signed in to change notification settings - Fork 20
Pin npm and node versions to ensure consistent updates with dependabot #808
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
janbrasna
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Somewhat surprisingly, here yet another version is being used in the build:
| "description": "You can have all the money in the world, but there’s one thing you will never have — a dinosaur.", | ||
| "private": true, | ||
| "engines": { | ||
| "node": "^24.0.0", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Springfield (unlike bedrock's Node 20) builds using Node 22: 🤷
Line 24 in 28f9af5
| FROM node:22.15.0-slim AS assets |
Uses bookworm slim docker image
|
The issue is Dependabot started "guessing" npm here as npm@11 after they added its support — and using a version in the middle of their peer prune dumpster fire as its cli to submit PRs, introducing dirty lockfiles:/ This would normally resolve itself over time when they start using the latest patch version, but they're stuck on a few back now:/ however luckily they take the |
|
What I wanted to say is fixing this actual issue is not directly/necessarily related to a Node 24 update, but it's nice to have anyway. (I'll post more details in the upstream review.) |
| # assets builder and dev server | ||
| # | ||
| FROM node:22.15.0-slim AS assets | ||
| FROM node:24-slim AS assets |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm also adding more details about the hard pin version rationale in a tracking ticket:
One-line summary
Same update as mozilla/bedrock#16906
Significant changes and points to review
Issue / Bugzilla link
Peer fields were added in Dependabot package-lock update: #806
These fields were being removed in local
npm installsteps. This is likely due to a mismatch in npm versions (although it is hard to diagnose as the peer field is not documented in npm, yet it is in npm GitHub PRs)Testing
Run
npm installlocally and confirm the lock file does not addpeer: truefieldsNode upgrade tests: confirm the following run without error or noise
make buildmake runIntegration test run 🟢 : https://github.com/mozmeao/springfield/actions/runs/20097490260