Hosted runner runtime

GitHub Actions Node.js 20 actions node16 deprecation changelog

A custom action starts failing after host migration even though its package lock was unchanged.

GitHub Actions runnerCI/CDHosted runner runtimegh_node24

Agent Quick Fix

Repair against the current GitHub Actions runner contract, then keep the change narrow and source-backed.

Product: GitHub Actions runner
Current-contract area: Bundled action dependency uses removed/deprecated Node behavior
Likely root cause: A custom action starts failing after host migration even though its package lock was unchanged.
Repair direction: Verifier executes on the target host matrix and checks a forward-compatible action/runtime change. Check the supported runner/runtime matrix, not just a local Node invocation.

Symptom

A custom action starts failing after host migration even though its package lock was unchanged.

Why This Happens

The action's host runtime and runner compatibility are supplied by the CI platform, not by the repository's package.json or source tree.

Common Wrong Fixes

  • Changing local code without checking the current external contract.
  • Retrying the same install, build, or API call with no version/source change.
  • Applying a broad unsafe bypass when a narrow compatibility fix is available.

Codex Search Keywords

These are the search terms observed in a neutral Codex validation run for this failure shape.

site:github.blog GitHub Actions Node20 migration JavaScript actions Node16 deprecation hosted runner runtime
site:github.blog/changelog GitHub Actions Node20 node16 deprecation actions runner
GitHub Actions Node.js 20 actions node16 deprecation changelog
docs.github.com actions metadata syntax runs using node20
https://docs.github.com/en/actions/sharing-automations/creating-actions/metadata-syntax-for-github-actions

Source Trail

GitHub source file/reference: