Skip to content

ci(flo-166): bump GitHub Actions off deprecated Node.js 20 runtime#58

Merged
Fl0p merged 1 commit into
mainfrom
flo-166-bump-actions-node24
May 24, 2026
Merged

ci(flo-166): bump GitHub Actions off deprecated Node.js 20 runtime#58
Fl0p merged 1 commit into
mainfrom
flo-166-bump-actions-node24

Conversation

@Fl0p

@Fl0p Fl0p commented May 24, 2026

Copy link
Copy Markdown
Contributor

What

Bumps every JavaScript-based GitHub Action across all workflows to the major version that runs on Node.js 24, ahead of GitHub's deadlines:

  • 2026-06-02 — hosted runners force Node 24 by default.
  • 2026-09-16 — Node 20 removed from runners.

Version matrix

Each target's action.yml declares runs.using: node24 — verified per tag, not assumed.

Action From → To
actions/checkout v4 → v5
actions/setup-node v4 → v5
actions/setup-go v5 → v6
actions/configure-pages v4 → v6
actions/upload-pages-artifact v3 → v5
actions/deploy-pages v4 → v5
docker/setup-buildx-action v3 → v4
docker/login-action v3 → v4
docker/metadata-action v5 → v6
docker/build-push-action v5 → v7

Scope note

FLO-166 named deploy.yml, but the Pages deploy that raised the annotation (setup-node/configure-pages/upload-pages-artifact/deploy-pages) actually lives in docs.yml. Since the Node 24 force-switch hits every workflow, I bumped all of them in one PR rather than leaving a follow-up: ci.yml, deploy.yml, docs.yml, release.yml. paperclip-issue-sync.yml uses only run steps (no JS actions) — unchanged.

⚠️ Self-hosted runner caveat

deploy.yml runs on the [self-hosted, flopsstuff, docker] runner. Node-24 actions require GitHub Actions Runner v2.327.1+. If that runner is older, checkout@v5 will fail. The runner must be updated by 2026-06-02 regardless; flagging so we verify the self-hosted runner version before/after merge.

Verification

  • All five workflow YAMLs parse (yaml.safe_load).
  • Inputs unchanged (e.g. setup-go@v6 still accepts go-version/cache; setup-node@v5 still accepts node-version/cache).
  • Acceptance — no Node 20 deprecation annotations — is proven by CI/docs/release runs on main post-merge.

Decision lens

Boring tech beats clever tech — straight major-version bumps to maintained actions; pinned to current node24 majors rather than interim FORCE_JAVASCRIPT_ACTIONS_TO_NODE24 env hacks, so a future maintainer reads exactly what runs.

🤖 Generated with Claude Code

GitHub forces Node.js 24 on hosted runners 2026-06-02 and removes Node 20
on 2026-09-16. Bump every JavaScript action across all workflows to the
major version whose action.yml declares runs.using: node24, verified per
tag:

  actions/checkout            v4 -> v5
  actions/setup-node          v4 -> v5
  actions/setup-go            v5 -> v6
  actions/configure-pages     v4 -> v6
  actions/upload-pages-artifact v3 -> v5
  actions/deploy-pages        v4 -> v5
  docker/setup-buildx-action  v3 -> v4
  docker/login-action         v3 -> v4
  docker/metadata-action      v5 -> v6
  docker/build-push-action    v5 -> v7

paperclip-issue-sync.yml uses only run-steps (no JS actions), unchanged.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
@coderabbitai

coderabbitai Bot commented May 24, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@Fl0p, we couldn't start this review because you've used your available PR reviews for now.

Your plan currently allows 1 review/hour. Refill in 49 minutes and 44 seconds.

Your organization has run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After more review capacity refills, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than trial, open-source, and free plans. In all cases, review capacity refills continuously over time.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: f6f5a56c-6ba8-4714-8dc2-c0dd01716449

📥 Commits

Reviewing files that changed from the base of the PR and between 1ed4d01 and 963da11.

📒 Files selected for processing (4)
  • .github/workflows/ci.yml
  • .github/workflows/deploy.yml
  • .github/workflows/docs.yml
  • .github/workflows/release.yml
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch flo-166-bump-actions-node24

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@Fl0p Fl0p merged commit 9932b3e into main May 24, 2026
3 checks passed
@Fl0p Fl0p deleted the flo-166-bump-actions-node24 branch May 24, 2026 12:41
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.

1 participant