Skip to content

fix: pin the tools image Node base to 24.22.2-bookworm-slim by digest - #5

Merged
alexb-openrouter merged 1 commit into
mainfrom
devin/1793977146-pin-node-image
Nov 6, 2026
Merged

alexb-openrouter merged 1 commit into
mainfrom
devin/1793977146-pin-node-image

Conversation

@jamespsterling

@jamespsterling jamespsterling commented Nov 6, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Pin the Node stages of images/tools/Dockerfile to an exact, digest-pinned base instead of the floating node:24-bookworm-slim tag:

-ARG NODE_IMAGE=node:24-bookworm-slim
+ARG NODE_IMAGE=node:24.22.2-bookworm-slim@sha256:01d566e8d94d8c619591d78652babfccd3c6992a3dffa9ed5ab39e11cf6c70e9

Node 24.22.2 is the current 24.x release and includes the fixes from the Node.js security release of October 21, 2026 (CVE-2026-111497 and the TLS and DNS hostname issues). With a floating tag, the Node patch inside the image depends on when the image was last built. With the digest pin, every build of a given source tree resolves the same base, and a Node patch bump shows up as a reviewable diff.

The 150 tasks/*/environment/docker-compose.yaml files change because the tools image tag is a content hash of the image sources (crates/scenario/src/images.rs). The new tag is tool-bench-tools:521c33382f76f96a. The image publish workflow builds and pushes it on the next push to main, which is also the rebuild that replaces any tools image built from an older 24.x base.

Verification

Builds from this branch with docker buildx build --pull --platform linux/amd64 -f images/tools/Dockerfile ., before and after the change:

  • Before (floating tag, resolved today): node -v prints v24.22.2, Debian 12 (bookworm).
  • After (digest pin): node -v prints v24.22.2, Debian 12 (bookworm). process.versions is identical to the baseline (OpenSSL 3.5.9, brotli 1.2.0, c-ares 1.34.9), and the same 15 binaries in /opt/bin and 36 npm server binaries are present.
  • cargo test --workspace --locked, cargo clippy --workspace --all-targets --locked -- -D warnings, and taskgen --check pass.

Risk: low. Same major, same Debian base, same image variant. A floating node:24-bookworm-slim build from before the pin is the rollback target, and it carries whichever Node patch was current at that build.

Follow-up: the next Node.js security release moves this pin again, so bump the tag and digest together when it lands.


Devin Review

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@devin-ai-integration

devin-ai-integration Bot commented Nov 6, 2026 •

Copy link
Copy Markdown
Contributor

I'll fix CI failures and address comments from users with write access that start with 'Devin'.

  • Disable automatic comment, CI, and merge conflict monitoring

@LukasParke
LukasParke marked this pull request as ready for review November 6, 2026 15:48

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Devin Review

@alexb-openrouter
alexb-openrouter merged commit a80b842 into main Nov 6, 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.

2 participants