chore(ci): bump ci-base image node 22 → 24-alpine #639
Reference in New Issue
Block a user
Delete Branch "chore/ci-base-node-24-alpine"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
Bumps the pre-baked Woodpecker CI base image (
Dockerfile.ci) fromnode:22-alpinetonode:24-alpine(Active LTS). Comments inci.yml/publish.ymlupdated for accuracy. No other behavior change.Why now
This is the planned follow-up to the CI cache work (#635 consumer / #637 producer), deliberately sequenced after caching landed so the runtime-version change carries zero cache variables — if anything regresses, it's unambiguously the node bump, not the cache.
node:26is intentionally held until it reaches LTS (Oct 2026): the Current line risks node-gyp native-module breakage on the musl runner, which compilesbetter-sqlite3,canvas,sharp, andnode-ptyfrom source.Validation
⚠️ Note:
ci-image.ymlonly rebuildsci-baseon push to main (Dockerfile.ci path filter) or tag — not on PRs — so this PR's own pipeline still pulls the existing node:22 image and does not exercise node:24. To avoid a blind merge, node:24-alpine was validated locally by buildingDockerfile.ciand running the realpnpm install --frozen-lockfile --prefer-offline(compiling all native modules) on node:24-alpine + musl. On merge, the path filter triggers a fresh ci-base build and the next pipeline runs on node:24.🤖 Generated with Claude Code