Update Node runtimes to v24 - #479
AlexJSully wants to merge 4 commits into
Conversation
There was a problem hiding this comment.
🟡 Changes recommended
The vscode-docker image switches to the NodeSource v24 channel but does not pin an exact Node version, which can cause rebuild drift and reduce the intended cross-environment alignment.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
This PR updates the Workbench devcontainer templates, container images, and Flatcar VM startup installation path to use Node.js v24 (targeting v24.19.0 where feasible) to reduce runtime drift across build and execution environments.
Changes:
- Bump devcontainer Node feature versions across templates to
24.19.0. - Upgrade the Flatcar startup Node install to
v24.19.0and update the corresponding SHA-256 verification. - Move Playground and extension-builder base image references to updated/pinned image digests; switch
vscode-dockerto the NodeSource v24 channel.
File summaries
| File | Description |
|---|---|
| startupscript/butane/010-install-node.sh | Updates Flatcar VM Node version to v24.19.0 and refreshes the SHA-256 check. |
| src/workbench-jupyter-with-llm/.devcontainer.json | Bumps devcontainer Node feature version to 24.19.0. |
| src/workbench-jupyter-parabricks/.devcontainer.json | Bumps devcontainer Node feature version to 24.19.0. |
| src/vscode/.devcontainer.json | Bumps devcontainer Node feature version to 24.19.0. |
| src/vscode-with-llm/.devcontainer.json | Bumps devcontainer Node feature version to 24.19.0. |
| src/vscode-docker/Dockerfile | Switches NodeSource setup script from 22.x to 24.x for Node installation. |
| src/virtual-browser-rstudio/.devcontainer.json | Bumps devcontainer Node feature version to 24.19.0. |
| src/virtual-browser-jupyter/.devcontainer.json | Bumps devcontainer Node feature version to 24.19.0. |
| src/r-analysis/.devcontainer.json | Bumps devcontainer Node feature version to 24.19.0. |
| src/playground/playground/Dockerfile | Pins Playground runtime stage to the official Node 24.19.0 Alpine image + digest and removes redundant Node APK install. |
| src/nemo_jupyter/.devcontainer.json | Bumps devcontainer Node feature version to 24.19.0. |
| src/jupyter-common/extension-builder/Dockerfile | Updates extension-builder base image digest. |
| src/custom-workbench-jupyter-template/.devcontainer.json | Bumps devcontainer Node feature version to 24.19.0. |
| src/aou-common/extension-builder/Dockerfile | Updates extension-builder base image digest. |
| feature-versions/state.json | Updates the tracked installed digest for the extension-builder base image. |
Review details
- Files reviewed: 15/15 changed files
- Comments generated: 1
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
rowleyj
left a comment
There was a problem hiding this comment.
I'd recommend posting a warning in the workbench support channel if you haven't yet before merging as 18 -> 24 could cause untested issues in the scripts. But nice job!
pantherman594
left a comment
There was a problem hiding this comment.
I saw that you recently bumped from 24.19 to 24.20 - will we have to manually keep bumping this node version?
Yes it would have to be manual and I'd advise it to be manual to prevent unforeseen breakage. I plan this to be the last bump till Nov/Dec/2027 where I bump all to v26 (once the npm ecosystem fully supports it) |
|
CI - Test Templates / Smoke test 'nemo_jupyter_aou' (pull_request) and CI - Test Templates / Smoke test 'nemo_jupyter' (pull_request) seem unrelated to these chanes. Going to continue with merging. |
Update the Node environments used by Workbench applications to Node v24, using v24.19.0 wherever exact versions are supported. This aligns Node across Workbench workspace templates, runtime images, extension builds, and startup installation paths, reducing environment-specific differences.
Rationale:
v24.17.0andv24.18.1security releases, including fixes affecting TLS, WebCrypto, HTTP/2 & the permission model.v24.18.0increases Node’s default Buffer pool from 8 KiB to 64 KiB; see Node’s eight-worker benchmark.This PR includes the following changes:
vscode-dockerfrom the NodeSource v22 channel to the v24 channel.