GitHub Actions runners have retired Node 20 and now execute JavaScript actions on Node 24, removing the temporary ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION opt‑out. Engineers who build or consume actions must adjust their metadata, verify runtime compatibility, and consider the new OS/architecture constraints on self‑hosted runners.
What Changed on the Runner
The default JavaScript runtime for all GitHub‑hosted runners is now Node 24. The previous ability to temporarily stay on Node 20 via the ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION flag has been eliminated, making the migration mandatory for all workflows.
Impact on Action Development and CI/CD Pipelines
Action authors need to update the runs.using field in action.yml to node24 and publish a new release. Consumers of third‑party actions should upgrade to the latest versions that already target Node 24. The GitHub changelog confirms that first‑party actions have been updated accordingly.
Self‑Hosted Runner Compatibility
Node 24 does not run on macOS 13.4 or earlier, and it lacks official support for ARM32. Self‑hosted runners using those operating systems or architectures are therefore unsupported. Teams must verify that their self‑hosted fleet runs a supported OS version (macOS 13.5+ or equivalent) and a compatible CPU architecture, or migrate to GitHub‑hosted runners.
Related CloudNinjas coverage: DevOps.
What This Means For Practitioners
- Audit all custom actions and change
runs.usingtonode24before the next release cycle. - Pin workflow steps to action versions that have been confirmed to run on Node 24.
- Review self‑hosted runner inventories for macOS 13.4‑ or ARM32‑based machines and plan upgrades or decommissioning.
- Test critical pipelines against Node 24 to catch runtime‑specific regressions early.
- Monitor GitHub announcements for future runtime upgrades to stay ahead of mandatory migrations.
