Autory Labs • CI Workflow Preflight

GitHub Actions Node 20 to Node 24 migration checklist

GitHub Actions runners have started the Node 20 deprecation path. If your release workflows depend on older JavaScript actions, self-hosted runners, broad permissions, or fragile cache keys, this is the moment to preflight the workflow before the next release branch.

  • For public repos or pasted non-secret workflow YAML
  • No GitHub token, App install, private repo access, or secrets
  • Preflight checklist only — no promise that CI will pass

migration preflight

Node 20 → Node 24 actions • runners • cache • permissions
  1. Action runtimeold action majors may still run on Node 20-era assumptions
  2. Runner supportself-hosted OS and architecture constraints need review
  3. Release safetypinning, cache keys, and token scope should be explicit

Source note: GitHub's changelog says Node 20 reached end-of-life in April 2026, runners began using Node 24 by default on June 16, 2026, and all actions are planned to migrate to Node 24 later in 2026. Read the GitHub Actions notice.

What to check first

A Node runtime migration is rarely just a version bump.

1. Stale action majors

Inventory `actions/checkout`, setup actions, artifact actions, `github-script`, caching actions, and third-party JavaScript actions. If the workflow is pinned to an old major or SHA, map that pin to a maintained release intentionally before changing runners.

2. Runner and OS assumptions

Check self-hosted runners and older macOS assumptions. GitHub notes Node 24 support changes for older macOS and ARM32 self-hosted runners, so runner drift can become the hidden release blocker.

3. Cache and permission drift

Runtime migration often exposes weak cache keys, broad default token permissions, and release jobs that depend on accidental behavior. Review cache inputs and add explicit least-privilege `permissions` blocks before the migration lands in a release branch.

Bounded report offer

Want a second set of eyes on one workflow?

The $29 CI Workflow Preflight report turns a public repo URL or non-secret workflow YAML into a prioritized migration checklist: action-version drift, runner compatibility, cache fragility, token-scope risk, and exact next edits to review. It does not need access to private repos, tokens, secrets, or proprietary logs.

Request the $29 CI workflow preflight

Seeing this through a Pages deploy? Read the focused `cloudflare/pages-action@v1` Node 20 deprecation warning note .