From 15bca8f0dfc7dd89706126ff4f5019e4af66c100 Mon Sep 17 00:00:00 2001 From: Alexander Sullivan Date: Fri, 4 Sep 2026 17:30:12 -0400 Subject: [PATCH] update to node v24.19.0 --- feature-versions/state.json | 2 +- src/aou-common/extension-builder/Dockerfile | 2 +- src/custom-workbench-jupyter-template/.devcontainer.json | 2 +- src/jupyter-common/extension-builder/Dockerfile | 2 +- src/nemo_jupyter/.devcontainer.json | 2 +- src/playground/playground/Dockerfile | 6 +++--- src/r-analysis/.devcontainer.json | 2 +- src/virtual-browser-jupyter/.devcontainer.json | 2 +- src/virtual-browser-rstudio/.devcontainer.json | 2 +- src/vscode-docker/Dockerfile | 2 +- src/vscode-with-llm/.devcontainer.json | 2 +- src/vscode/.devcontainer.json | 2 +- src/workbench-jupyter-parabricks/.devcontainer.json | 2 +- src/workbench-jupyter-with-llm/.devcontainer.json | 2 +- startupscript/butane/010-install-node.sh | 4 ++-- 15 files changed, 18 insertions(+), 18 deletions(-) diff --git a/feature-versions/state.json b/feature-versions/state.json index 3616919fd..bcc2de6bd 100644 --- a/feature-versions/state.json +++ b/feature-versions/state.json @@ -41,7 +41,7 @@ }, "us-west2-docker.pkg.dev/shared-pub-buckets-94mvrf/workbench-artifacts/app-jupyter-extension-builder": { "tag": "latest", - "installed": "sha256:039b3fe16bf349b81cc10a825f4ed62439187d9f9e80529568a964006e78647a", + "installed": "sha256:6e5650bb9c478afdd926dc90879fd7ff789533ff9583260e9afa92819020d42d", "filter": "src\\/.*\\/Dockerfile" }, "us-west2-docker.pkg.dev/shared-pub-buckets-94mvrf/workbench-artifacts/app-aou-jupyter": { diff --git a/src/aou-common/extension-builder/Dockerfile b/src/aou-common/extension-builder/Dockerfile index 586102899..aa6e4c232 100644 --- a/src/aou-common/extension-builder/Dockerfile +++ b/src/aou-common/extension-builder/Dockerfile @@ -1,4 +1,4 @@ -FROM us-west2-docker.pkg.dev/shared-pub-buckets-94mvrf/workbench-artifacts/app-jupyter-extension-builder@sha256:039b3fe16bf349b81cc10a825f4ed62439187d9f9e80529568a964006e78647a +FROM us-west2-docker.pkg.dev/shared-pub-buckets-94mvrf/workbench-artifacts/app-jupyter-extension-builder@sha256:6e5650bb9c478afdd926dc90879fd7ff789533ff9583260e9afa92819020d42d COPY extension /extension diff --git a/src/custom-workbench-jupyter-template/.devcontainer.json b/src/custom-workbench-jupyter-template/.devcontainer.json index 49a7b6b4a..bc08da258 100644 --- a/src/custom-workbench-jupyter-template/.devcontainer.json +++ b/src/custom-workbench-jupyter-template/.devcontainer.json @@ -22,7 +22,7 @@ ], "features": { "ghcr.io/devcontainers/features/node@sha256:8c0de46939b61958041700ee89e3493f3b2e4131a06dc46b4d9423427d06e5f6": { - "version": "24.11.0" + "version": "24.19.0" }, "ghcr.io/anthropics/devcontainer-features/claude-code@sha256:cfc2e7d3e9fd3b9b01f8d5cb158508a884c8c0ede2e23ed10f32dea5d4ffe69a": {}, "./.devcontainer/features/gemini-cli": { "username": "jupyter" }, diff --git a/src/jupyter-common/extension-builder/Dockerfile b/src/jupyter-common/extension-builder/Dockerfile index 5dbbc0844..4904626f4 100644 --- a/src/jupyter-common/extension-builder/Dockerfile +++ b/src/jupyter-common/extension-builder/Dockerfile @@ -1,4 +1,4 @@ -FROM us-west2-docker.pkg.dev/shared-pub-buckets-94mvrf/workbench-artifacts/app-jupyter-extension-builder@sha256:039b3fe16bf349b81cc10a825f4ed62439187d9f9e80529568a964006e78647a +FROM us-west2-docker.pkg.dev/shared-pub-buckets-94mvrf/workbench-artifacts/app-jupyter-extension-builder@sha256:6e5650bb9c478afdd926dc90879fd7ff789533ff9583260e9afa92819020d42d COPY extension /extension diff --git a/src/nemo_jupyter/.devcontainer.json b/src/nemo_jupyter/.devcontainer.json index 9d4fdaac1..36d89781b 100644 --- a/src/nemo_jupyter/.devcontainer.json +++ b/src/nemo_jupyter/.devcontainer.json @@ -26,7 +26,7 @@ }, "ghcr.io/dhoeric/features/google-cloud-cli@sha256:fa5d894718825c5ad8009ac8f2c9f0cea3d1661eb108a9d465cba9f3fc48965f": {}, "ghcr.io/devcontainers/features/node@sha256:8c0de46939b61958041700ee89e3493f3b2e4131a06dc46b4d9423427d06e5f6": { - "version": "24.11.0" + "version": "24.19.0" }, "ghcr.io/anthropics/devcontainer-features/claude-code@sha256:cfc2e7d3e9fd3b9b01f8d5cb158508a884c8c0ede2e23ed10f32dea5d4ffe69a": {}, "./.devcontainer/features/gemini-cli": { "username": "jupyter" }, diff --git a/src/playground/playground/Dockerfile b/src/playground/playground/Dockerfile index 023f02a07..bb195cfaa 100644 --- a/src/playground/playground/Dockerfile +++ b/src/playground/playground/Dockerfile @@ -8,10 +8,10 @@ COPY . . RUN go build -o /playground . -FROM alpine:latest +FROM node:24.19.0-alpine@sha256:d32cdf619f63fe0471182d08996dd516c6275bb5fd31ae06e55a570bd9e1ad43 -# Install Node.js, npm, Docker CLI, docker-compose, buildx, ttyd, bash, and devcontainer CLI -RUN apk add --no-cache nodejs npm docker-cli docker-cli-compose docker-cli-buildx ttyd bash && \ +# Install Docker CLI, docker-compose, buildx, ttyd, bash, and devcontainer CLI +RUN apk add --no-cache docker-cli docker-cli-compose docker-cli-buildx ttyd bash && \ npm install -g @devcontainers/cli RUN addgroup -S playground -g 1001 && adduser -S playground -u 1001 -G playground diff --git a/src/r-analysis/.devcontainer.json b/src/r-analysis/.devcontainer.json index 23a5a7cab..3b5489bd3 100644 --- a/src/r-analysis/.devcontainer.json +++ b/src/r-analysis/.devcontainer.json @@ -31,7 +31,7 @@ "ghcr.io/devcontainers/features/aws-cli@sha256:1f93c8315b7a6d76982ebb2269f8b0d50413fc0f965c032edf4aee0caceb73ef": {}, "ghcr.io/dhoeric/features/google-cloud-cli@sha256:fa5d894718825c5ad8009ac8f2c9f0cea3d1661eb108a9d465cba9f3fc48965f": {}, "ghcr.io/devcontainers/features/node@sha256:8c0de46939b61958041700ee89e3493f3b2e4131a06dc46b4d9423427d06e5f6": { - "version": "24.11.0" + "version": "24.19.0" }, "ghcr.io/anthropics/devcontainer-features/claude-code@sha256:cfc2e7d3e9fd3b9b01f8d5cb158508a884c8c0ede2e23ed10f32dea5d4ffe69a": {}, "./.devcontainer/features/gemini-cli": { "username": "rstudio" }, diff --git a/src/virtual-browser-jupyter/.devcontainer.json b/src/virtual-browser-jupyter/.devcontainer.json index ff3a257db..066fa9124 100644 --- a/src/virtual-browser-jupyter/.devcontainer.json +++ b/src/virtual-browser-jupyter/.devcontainer.json @@ -22,7 +22,7 @@ ], "features": { "ghcr.io/devcontainers/features/node@sha256:8c0de46939b61958041700ee89e3493f3b2e4131a06dc46b4d9423427d06e5f6": { - "version": "24.11.0" + "version": "24.19.0" }, "ghcr.io/anthropics/devcontainer-features/claude-code@sha256:cfc2e7d3e9fd3b9b01f8d5cb158508a884c8c0ede2e23ed10f32dea5d4ffe69a": {}, "./.devcontainer/features/gemini-cli": { "username": "jupyter" }, diff --git a/src/virtual-browser-rstudio/.devcontainer.json b/src/virtual-browser-rstudio/.devcontainer.json index 7f0e452e7..c380a3242 100644 --- a/src/virtual-browser-rstudio/.devcontainer.json +++ b/src/virtual-browser-rstudio/.devcontainer.json @@ -32,7 +32,7 @@ "ghcr.io/devcontainers/features/aws-cli@sha256:1f93c8315b7a6d76982ebb2269f8b0d50413fc0f965c032edf4aee0caceb73ef": {}, "ghcr.io/dhoeric/features/google-cloud-cli@sha256:fa5d894718825c5ad8009ac8f2c9f0cea3d1661eb108a9d465cba9f3fc48965f": {}, "ghcr.io/devcontainers/features/node@sha256:8c0de46939b61958041700ee89e3493f3b2e4131a06dc46b4d9423427d06e5f6": { - "version": "24.11.0" + "version": "24.19.0" }, "ghcr.io/anthropics/devcontainer-features/claude-code@sha256:cfc2e7d3e9fd3b9b01f8d5cb158508a884c8c0ede2e23ed10f32dea5d4ffe69a": {}, "./.devcontainer/features/gemini-cli": { "username": "rstudio" }, diff --git a/src/vscode-docker/Dockerfile b/src/vscode-docker/Dockerfile index 33e9763e4..123f302c2 100644 --- a/src/vscode-docker/Dockerfile +++ b/src/vscode-docker/Dockerfile @@ -66,7 +66,7 @@ RUN curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | d rm -rf /var/lib/apt/lists/* # Install Node.js (required for promptfoo) -RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - && \ +RUN curl -fsSL https://deb.nodesource.com/setup_24.x | bash - && \ apt-get install -y nodejs && \ rm -rf /var/lib/apt/lists/* diff --git a/src/vscode-with-llm/.devcontainer.json b/src/vscode-with-llm/.devcontainer.json index 500c3c036..5a977cedd 100644 --- a/src/vscode-with-llm/.devcontainer.json +++ b/src/vscode-with-llm/.devcontainer.json @@ -14,7 +14,7 @@ "jdkDistro": "tem" }, "ghcr.io/devcontainers/features/node@sha256:8c0de46939b61958041700ee89e3493f3b2e4131a06dc46b4d9423427d06e5f6": { - "version": "24.11.0" + "version": "24.19.0" }, "ghcr.io/devcontainers/features/aws-cli@sha256:1f93c8315b7a6d76982ebb2269f8b0d50413fc0f965c032edf4aee0caceb73ef": {}, "ghcr.io/dhoeric/features/google-cloud-cli@sha256:fa5d894718825c5ad8009ac8f2c9f0cea3d1661eb108a9d465cba9f3fc48965f": {}, diff --git a/src/vscode/.devcontainer.json b/src/vscode/.devcontainer.json index f5f3b7988..02d121ef0 100644 --- a/src/vscode/.devcontainer.json +++ b/src/vscode/.devcontainer.json @@ -20,7 +20,7 @@ "jdkDistro": "tem" }, "ghcr.io/devcontainers/features/node@sha256:8c0de46939b61958041700ee89e3493f3b2e4131a06dc46b4d9423427d06e5f6": { - "version": "24.11.0" + "version": "24.19.0" }, "ghcr.io/devcontainers/features/aws-cli@sha256:1f93c8315b7a6d76982ebb2269f8b0d50413fc0f965c032edf4aee0caceb73ef": {}, "ghcr.io/dhoeric/features/google-cloud-cli@sha256:fa5d894718825c5ad8009ac8f2c9f0cea3d1661eb108a9d465cba9f3fc48965f": {}, diff --git a/src/workbench-jupyter-parabricks/.devcontainer.json b/src/workbench-jupyter-parabricks/.devcontainer.json index 9409b76af..762e94dd5 100644 --- a/src/workbench-jupyter-parabricks/.devcontainer.json +++ b/src/workbench-jupyter-parabricks/.devcontainer.json @@ -27,7 +27,7 @@ "ghcr.io/dhoeric/features/google-cloud-cli@sha256:fa5d894718825c5ad8009ac8f2c9f0cea3d1661eb108a9d465cba9f3fc48965f": {}, "ghcr.io/devcontainers/features/aws-cli@sha256:1f93c8315b7a6d76982ebb2269f8b0d50413fc0f965c032edf4aee0caceb73ef":{}, "ghcr.io/devcontainers/features/node@sha256:8c0de46939b61958041700ee89e3493f3b2e4131a06dc46b4d9423427d06e5f6": { - "version": "24.11.0" + "version": "24.19.0" }, "ghcr.io/anthropics/devcontainer-features/claude-code@sha256:cfc2e7d3e9fd3b9b01f8d5cb158508a884c8c0ede2e23ed10f32dea5d4ffe69a": {}, "./.devcontainer/features/gemini-cli": { "username": "jupyter" }, diff --git a/src/workbench-jupyter-with-llm/.devcontainer.json b/src/workbench-jupyter-with-llm/.devcontainer.json index dda023f9b..c236412fa 100644 --- a/src/workbench-jupyter-with-llm/.devcontainer.json +++ b/src/workbench-jupyter-with-llm/.devcontainer.json @@ -16,7 +16,7 @@ "postStartCommand": "./startupscript/remount-on-restart.sh jupyter /home/jupyter \"${templateOption:cloud}\" \"${templateOption:login}\"; sudo -u jupyter /opt/llm-context/run-context-generator.sh /home/jupyter || true", "features": { "ghcr.io/devcontainers/features/node@sha256:8c0de46939b61958041700ee89e3493f3b2e4131a06dc46b4d9423427d06e5f6": { - "version": "24.11.0" + "version": "24.19.0" }, "ghcr.io/anthropics/devcontainer-features/claude-code@sha256:cfc2e7d3e9fd3b9b01f8d5cb158508a884c8c0ede2e23ed10f32dea5d4ffe69a": {}, "./.devcontainer/features/gemini-cli": { "username": "jupyter" }, diff --git a/startupscript/butane/010-install-node.sh b/startupscript/butane/010-install-node.sh index 2ec7b56cc..7842ea68c 100644 --- a/startupscript/butane/010-install-node.sh +++ b/startupscript/butane/010-install-node.sh @@ -10,7 +10,7 @@ set -o pipefail set -o xtrace # Download Node.js from the source code and extract it to /opt -readonly NODE_VERSION="v18.16.1" +readonly NODE_VERSION="v24.19.0" readonly PLATFORM="linux-x64" readonly NODE_TAR="node-${NODE_VERSION}-${PLATFORM}.tar.gz" readonly NODE_INSTALL_SRC="https://storage.googleapis.com/bkt-workbench-artifacts/mirror/${NODE_TAR}" @@ -18,7 +18,7 @@ readonly NODE_INSTALL_PATH="/home/core/${NODE_TAR}" echo "Downloading Node from ${NODE_INSTALL_SRC}" wget -q -O "${NODE_INSTALL_PATH}" "${NODE_INSTALL_SRC}" -echo "59582f51570d0857de6333620323bdeee5ae36107318f86ce5eca24747cabf5b ${NODE_INSTALL_PATH}" | sha256sum -c +echo "f625d97cd707df4ff96254916fbc5ff014f09c09effe5a1e0ca8f6d41a8789d4 ${NODE_INSTALL_PATH}" | sha256sum -c echo "Installing Node from ${NODE_INSTALL_PATH}" tar -xzf "${NODE_INSTALL_PATH}" -C /opt --strip-components=1