← English news
Priority 4/5

GitHub Actions Deprecates Node 20 and Enforces Node 24 for JavaScript Actions

GitHub has completely removed Node 20 from GitHub Actions runners, forcing all JavaScript actions to run on Node 24 and disabling the temporary fallback environment variable.

GitHub Actions Deprecates Node 20 and Enforces Node 24 for JavaScript Actions

GitHub has completed the transition of its JavaScript actions runner environment to Node 24, officially ending support for Node 20. The temporary bypass mechanism, which allowed users to force the execution of older Node versions via the ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION environment variable, has been completely disabled. As a result, all custom and third-party JavaScript actions are now required to execute on Node 24.

Primary source

Open GitHub Changelog ↗

This article summarizes the source. Check the original for full details and conditions.

Comparison

AspectBefore / AlternativeAfter / This
Node Runtime VersionNode 20 (with temporary opt-out)Node 24 (strictly enforced)
Bypass Environment VariableACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION allowed fallbackVariable is ignored and no longer functional
Minimum macOS VersionSupported older macOS versionsRequires macOS 13.5 or later (macOS 13.4 and older unsupported)
ARM32 ArchitectureSupported on self-hosted runnersUnsupported due to Node 24 engine limitations

Action Checklist

  1. Update action metadata files Set the runs.using property to node24 in your action.yml files.
  2. Upgrade third-party workflow actions Check and update community-maintained actions to their latest versions that support Node 24.
  3. Verify self-hosted runner operating systems Ensure macOS self-hosted runners are upgraded to at least macOS 13.5.
  4. Decommission ARM32 runners Migrate self-hosted workloads on ARM32 architectures to supported platforms like ARM64.