CI Deprecation Response
Date
ImpactMedium
Decisions
D1: Bulk Version Upgrade of 11 Actions (Node.js 24 Response)
- Context: GitHub Actions runner switching to Node.js 24 as default from 2026-06-02, with complete removal of Node 20 scheduled for 2026-09-16. CI 15 jobs depend on Node 20-based actions.
- Choice: Bulk bump of 11 actions to latest major versions supporting Node 24. Processed as a single commit for full CI validation.
- Alternatives: Gradual incremental upgrade of individual actions → rejected (change scope is only
uses:tags, making bulk processing more efficient) - Code Paths:
.github/workflows/ci.yml
D2: docker/build-push-action v5 → v7 (2 Major Jump)
- Context: v6 is Node 20 based, v7 switches to Node 24 + ESM. Upgrading directly to v7 without going through v6.
- Choice: Go directly to v7. Confirmed all existing parameters (context, platforms, push, tags, cache-from, cache-to) are compatible.
- Alternatives: Stepwise v5 → v6 → v7 transition → rejected (v6 also scheduled for deprecation soon)
- Code Paths:
.github/workflows/ci.yml(build-services, build-frontend, build-blog jobs)
Patterns
P1: GitHub Actions Version Upgrade Bulk Processing
- Where:
.github/workflows/ci.yml - When to Reuse: Apply the same pattern for the next major deprecation cycle (Node 24 → Node 26, etc.). Extract
uses:lines with grep → research latest versions → bulk replacement with replace_all → full CI validation
Metrics
- Commits: 1, Files changed: 1 (42 uses lines changed, +48/-48)