Skip to content

fix: upgrade base image and CI to Node 24 (Active LTS) - #117

Merged
gmoon merged 1 commit into
mainfrom
claude/node-24-upgrade
Jul 15, 2026
Merged

fix: upgrade base image and CI to Node 24 (Active LTS)#117
gmoon merged 1 commit into
mainfrom
claude/node-24-upgrade

Conversation

@gmoon

@gmoon gmoon commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Why

Node 22 ("Jod") entered Maintenance LTS in October 2025; Node 24 is now the Active LTS line. The image was on 22 only by inertia — it was pinned there and nothing moved it. s3proxy requires Node >=22.13, which 24 satisfies, so there's no dependency blocker to moving up.

Changes

  • Dockerfile — base image node:22-alpinenode:24-alpine, repinned to the current multi-arch manifest-list digest (sha256:a0b9bf06…). Verified the digest resolves to a manifest list containing linux/amd64 + linux/arm64 (the two platforms this image publishes). Comment updated.
  • .github/workflows/ci.ymlnode-version: 2224 across the lint, test, and docker jobs.
  • package.json — engines floor >=22.13.0>=24.0.0, with the root entry in package-lock.json synced to match. The @forkzero/s3-website-test-kit dependency's own >=22.13.0 engines entry is left untouched.
  • README.md — image-layout note updated to "Alpine + Node 24".

Dependabot

No change needed. .github/dependabot.yml has no version pins or ignore rules for the docker ecosystem — the docker updater follows whatever tag is in the FROM line. Now that it reads 24-alpine, Dependabot tracks the 24 line automatically (digest bumps for 24-alpine, and it will propose 25-alpine when that ships).

Verification

The new digest was confirmed to be a valid multi-arch (amd64 + arm64) manifest list. The image build and lint were not run in this environment (no Docker daemon, dependencies not installed) — CI will exercise the full build, container smoke test, and conformance gate on Node 24.

🤖 Generated with Claude Code


Generated by Claude Code

Node 22 entered Maintenance LTS in Oct 2025; Node 24 is now the Active
LTS line. s3proxy only requires Node >=22.13, so 24 satisfies it.

- Dockerfile: base image node:22-alpine -> node:24-alpine, repinned to
  the current multi-arch (amd64+arm64) manifest-list digest
- CI: node-version 22 -> 24 across lint/test/docker jobs
- package.json engines floor 22.13.0 -> 24.0.0 (lockfile synced)
- README: image-layout note updated to Node 24
@gmoon gmoon changed the title chore: upgrade base image and CI to Node 24 (Active LTS) fix: upgrade base image and CI to Node 24 (Active LTS) Jul 15, 2026
@gmoon
gmoon merged commit a5793d7 into main Jul 15, 2026
3 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