From e364bdd2388ac7217fe7b49babac75320ffd53da Mon Sep 17 00:00:00 2001 From: Erich Blume Date: Fri, 13 Feb 2026 11:07:41 -0800 Subject: [PATCH] Upgrade Node.js from 20 to 22 LTS (#182) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary - Upgrade Dagger docs build image from `node:20-slim` to `node:22-slim` - Upgrade forgejo-runner container from Node 20 to Node 22 - Fixes Quartz 4.5.2 `EBADENGINE` warning (requires Node >= 22) - Node 20 EOL is 2026-04-30 Both builds verified locally via Dagger. ## Deployment 1. Merge this PR 2. Tag and release forgejo-runner v3.2.0: `mise run container-tag-and-release forgejo-runner v3.2.0` 3. Update RUNNER_LABELS version in `argocd/manifests/forgejo-runner/deployment.yaml` from `v3.1.0` to `v3.2.0` 4. `argocd app sync forgejo-runner` The Dagger docs build change takes effect immediately on merge (no container release needed). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/182 --- .dagger/src/blumeops_ci/main.py | 2 +- containers/forgejo-runner/Dockerfile | 2 +- docs/changelog.d/feature-node-22.infra.md | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 docs/changelog.d/feature-node-22.infra.md diff --git a/.dagger/src/blumeops_ci/main.py b/.dagger/src/blumeops_ci/main.py index b0b503f..8f2373f 100644 --- a/.dagger/src/blumeops_ci/main.py +++ b/.dagger/src/blumeops_ci/main.py @@ -49,7 +49,7 @@ class BlumeopsCi: updated_src = await self.build_changelog(src, version) return await ( dag.container() - .from_("node:20-slim") + .from_("node:22-slim") .with_exec(["apt-get", "update", "-qq"]) .with_exec(["apt-get", "install", "-y", "-qq", "git"]) .with_directory("/workspace", updated_src) diff --git a/containers/forgejo-runner/Dockerfile b/containers/forgejo-runner/Dockerfile index 2adaf42..2ea9dbc 100644 --- a/containers/forgejo-runner/Dockerfile +++ b/containers/forgejo-runner/Dockerfile @@ -24,7 +24,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ && rm -rf /var/lib/apt/lists/* # Install Node.js (required by actions/checkout and other JavaScript Actions) -RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \ +RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - \ && apt-get install -y --no-install-recommends nodejs \ && rm -rf /var/lib/apt/lists/* \ && node --version diff --git a/docs/changelog.d/feature-node-22.infra.md b/docs/changelog.d/feature-node-22.infra.md new file mode 100644 index 0000000..a0c08db --- /dev/null +++ b/docs/changelog.d/feature-node-22.infra.md @@ -0,0 +1 @@ +Upgrade Node.js from 20 to 22 (LTS) in Dagger docs build and forgejo-runner container