From 3beab6e07e5752b4689ab7f1844f26c733bb14b3 Mon Sep 17 00:00:00 2001 From: Matsu Date: Tue, 25 Aug 2026 08:26:08 +0000 Subject: [PATCH] build: Move the n8n and runners images onto n8nio/base:26.7.0 (#36990) Co-authored-by: Claude Opus 5 (1M context) --- .github/workflows/build-node-pc-image.yml | 2 +- .github/workflows/docker-build-push.yml | 2 +- .github/workflows/docker-build-smoke.yml | 2 +- docker/images/n8n/Dockerfile | 8 ++++---- docker/images/node-pc/Dockerfile | 4 ++-- docker/images/runners/Dockerfile | 2 +- docker/images/runners/Dockerfile.distroless | 2 +- scripts/dockerize-n8n.mjs | 2 +- 8 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build-node-pc-image.yml b/.github/workflows/build-node-pc-image.yml index 17995fde3ea..702ce2fc431 100644 --- a/.github/workflows/build-node-pc-image.yml +++ b/.github/workflows/build-node-pc-image.yml @@ -25,7 +25,7 @@ on: type: boolean env: - NODE_VERSION: '26.5.1' + NODE_VERSION: '26.7.0' jobs: build: diff --git a/.github/workflows/docker-build-push.yml b/.github/workflows/docker-build-push.yml index 01f37d2d58f..6e59509084c 100644 --- a/.github/workflows/docker-build-push.yml +++ b/.github/workflows/docker-build-push.yml @@ -8,7 +8,7 @@ run-name: "${{ github.event_name == 'workflow_dispatch' && format('Docker: Build env: NODE_OPTIONS: '--max-old-space-size=7168' - NODE_VERSION: '26.5.1' + NODE_VERSION: '26.7.0' on: schedule: diff --git a/.github/workflows/docker-build-smoke.yml b/.github/workflows/docker-build-smoke.yml index 0a0c20b965e..ba5648e3157 100644 --- a/.github/workflows/docker-build-smoke.yml +++ b/.github/workflows/docker-build-smoke.yml @@ -12,7 +12,7 @@ env: # The images copy native bindings from the host build, so both have to use the same # Node. dockerize-n8n.mjs reads this env for the image builds. Keep in sync with # NODE_VERSION in docker-build-push.yml, which is what the published images use. - NODE_VERSION: '26.5.1' + NODE_VERSION: '26.7.0' on: schedule: diff --git a/docker/images/n8n/Dockerfile b/docker/images/n8n/Dockerfile index c46edacc7bc..d1c4326e49c 100644 --- a/docker/images/n8n/Dockerfile +++ b/docker/images/n8n/Dockerfile @@ -1,9 +1,9 @@ -ARG NODE_VERSION=26.5.1 +ARG NODE_VERSION=26.7.0 ARG N8N_VERSION=snapshot -# The digest pins node:26.5.1-alpine3.24 for amd64 and arm64. Change the tag and the digest together. -ARG BUILDER_IMAGE=node:26.5.1-alpine3.24@sha256:233761595746769ebfdb6090f44fc7cdf818ae0ce62d2b37e0367723b9823e36 -ARG RUNTIME_IMAGE=n8nio/base:26.5.1@sha256:1b0bca5c94bbd04ad2120b9e9892a8bc717a1d88efa76fefe452c59bdc611d25 +# The digest pins node:26.7.0-alpine3.24 for amd64 and arm64. Change the tag and the digest together. +ARG BUILDER_IMAGE=node:26.7.0-alpine3.24@sha256:aadf416b2cdce311a8811ba3f0608a61b77dbf997500e2eafe781b51f6a0b019 +ARG RUNTIME_IMAGE=n8nio/base:26.7.0@sha256:33687300c4e94dc00f42ec79ae15082ae07330ecd82ae1167125905b65908ff8 # The runtime base has no compiler, so this stage supplies one. FROM ${BUILDER_IMAGE} AS toolchain diff --git a/docker/images/node-pc/Dockerfile b/docker/images/node-pc/Dockerfile index b829a3fa9f7..c3eef5484dc 100644 --- a/docker/images/node-pc/Dockerfile +++ b/docker/images/node-pc/Dockerfile @@ -10,7 +10,7 @@ # dev - plain Alpine with apk usable, for the n8n builder # stage, which must compile native addons against this # Node's headers -ARG NODE_VERSION=26.5.1 +ARG NODE_VERSION=26.7.0 # Compiling V8 needs 1.5-2 GB of memory per parallel job. Lower this on # builders whose memory-to-core ratio cannot cover all cores. ARG MAKE_JOBS= @@ -90,7 +90,7 @@ ENV npm_config_nodedir=/usr/local # npx, corepack) are swapped for the pointer-compressed build's files. # Pinned to a multi-arch index digest (linux/amd64 + linux/arm64) for reproducible builds. # Bump the tag and digest together when updating. -FROM n8nio/base:26.5.1@sha256:1b0bca5c94bbd04ad2120b9e9892a8bc717a1d88efa76fefe452c59bdc611d25 AS runtime +FROM n8nio/base:26.7.0@sha256:33687300c4e94dc00f42ec79ae15082ae07330ecd82ae1167125905b65908ff8 AS runtime RUN rm -f /usr/bin/node /usr/bin/nodejs /usr/bin/npm /usr/bin/npx /usr/bin/corepack /usr/local/bin/node COPY --from=builder /node-install/usr/local /usr/local diff --git a/docker/images/runners/Dockerfile b/docker/images/runners/Dockerfile index f8daecec391..50b8a58734b 100644 --- a/docker/images/runners/Dockerfile +++ b/docker/images/runners/Dockerfile @@ -1,4 +1,4 @@ -ARG NODE_VERSION=26.5.1 +ARG NODE_VERSION=26.7.0 ARG PNPM_VERSION=11.22.0 ARG PYTHON_VERSION=3.13 diff --git a/docker/images/runners/Dockerfile.distroless b/docker/images/runners/Dockerfile.distroless index 58656a9c4c1..82f8fcfe23b 100644 --- a/docker/images/runners/Dockerfile.distroless +++ b/docker/images/runners/Dockerfile.distroless @@ -12,7 +12,7 @@ # - Uses distroless nonroot user (UID 65532) # ============================================================================== -ARG NODE_VERSION=26.5.1 +ARG NODE_VERSION=26.7.0 ARG PNPM_VERSION=11.22.0 ARG PYTHON_VERSION=3.13 diff --git a/scripts/dockerize-n8n.mjs b/scripts/dockerize-n8n.mjs index 46f735525ef..0599df47d5c 100755 --- a/scripts/dockerize-n8n.mjs +++ b/scripts/dockerize-n8n.mjs @@ -144,7 +144,7 @@ const noCache = process.env.DOCKER_BUILD_NO_CACHE === 'true'; const withBaseImage = process.env.DOCKER_BUILD_BASE_IMAGE === 'true'; // Keep in sync with NODE_VERSION in .github/workflows/docker-build-push.yml, // which is what the published images are actually built with. -const nodeVersion = process.env.NODE_VERSION || '26.5.1'; +const nodeVersion = process.env.NODE_VERSION || '26.7.0'; const config = { base: {