Pin npm 11.18.0 in Node 20 Docker builds - #7840
Draft
ar2rsawseen wants to merge 1 commit into
Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
11.18.0in the Debian API/frontend Dockerfiles.Why
PR #7839 removed
npm@latestso npm 12 no longer breaks these Node 20 builds. This follow-up explicitly installs npm11.18.0, the latest npm release compatible with the branch's Nodev20.20.2.The current npm 10 release (
10.9.8) still reports known vulnerabilities in its bundled dependency tree, including the criticalnode-taradvisory. npm11.18.0:^20.17.0 || >=22.9.0;tar@7.5.19;The exact pin also prevents future npm major releases from unexpectedly changing the build.
Validation
git diff --checkdocker buildx build --checkfor all four changed Dockerfilesnpm@11.18.0on the samenode:iron-bookworm-slimbase:v20.20.211.18.0Dockerfile-apibuild completed the base-image Python build and tests, then stopped before npm because this arm64 host cannot install the Dockerfile's hardcoded amd64tinipackage. That architecture mismatch is pre-existing and unrelated to this change.Original failure: