chore(deps): keep the Node major out of Dependabot's hands - #351
Merged
Conversation
#340 pinned one Node line across four places: `engines` (">=22 <25") in the root, relay and admin manifests, `.nvmrc`, the `node-version` steps in every CI job, and the base image in both Dockerfiles. Its own words: the range "makes adopting Node 26 a deliberate bump rather than an accident". Dependabot opened #343 and #346 (node 24-alpine3.24 -> 26-alpine3.24) within the hour. Node 26 is the next even line but does not reach Active LTS until late October 2026, and no `.npmrc` sets engine-strict, so `npm ci` inside the image never checks `engines`: both PRs went green while putting the image on a runtime all three manifests forbid. The docker updater for /relay and /admin now ignores semver-major on "node" only. The rust builder keeps its majors (#313 was a real break that had to be seen), and node minor/patch, Alpine rebuilds and digest updates still arrive weekly. Adopting a new LTS line stays a hand bump of the whole grid.
This was referenced Sep 2, 2026
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.
Follow-up to #340, and the reason #343 and #346 are being closed.
What happened
#340 pinned one Node line across four places at once:
package.json,relay/package.json,admin/package.jsonengines: ">=22 <25".nvmrc24node-versionin all 7 CI job steps24relay/Dockerfile,admin/Dockerfilenode:24-alpine3.24(by digest)Its own wording:
>=22 <25"makes adopting Node 26 a deliberate bump ratherthan an accident".
Dependabot opened #343 (admin) and #346 (relay) within the hour, both
node:24-alpine3.24 -> 26-alpine3.24. Two things made that quiet rather thanloud:
enter LTS until late October 2026. Node 24 is the current LTS line.
engines. There is no.npmrcanywhere in the repo, soengine-strictis off and thenpm ciinside both Dockerfiles never looks atit. The image would have built green on a runtime all three manifests forbid,
and disagreed with itself only at runtime.
Build prod image (drift gate)did go green on #346, because that job provesthe Dockerfile builds, not that the manifest agrees with the runtime it built
for. #343 had no image build at all: build-image.yml is path-gated on
relay/**, so the admin Dockerfile has no CI that ever builds it.What this changes
The docker updater for
/relayand/adminignoresversion-update:semver-majorfor
node, and fornodeonly:was a real break in the liboqs bindings and had to be seen.
which is where the CVE traffic is.
Adopting a new LTS line stays what #340 wanted it to be: a hand bump of the
whole grid, with
docs/RELEASE.mdas the checklist.No workflow, image or manifest changes here, so nothing to run beyond the
existing checks.