GitHub Actions "Node16 actions are deprecated"
GitHub retired the Node 16 runtime for JavaScript actions in favor of Node 20. Actions still declaring runs.using: node16 raise deprecation warnings and will eventually be forced to node20.
What this error means
Runs warn that one or more actions use the deprecated node16 runtime.
github-actions
Warning: The following actions uses node16 which is deprecated and will be forced to run on node20:
actions/checkout@v3, some/other-action@v1Common causes
Action manifest pins node16
An action.yml declares runs.using: node16, which is the deprecated runtime.
Outdated pinned versions
Older major versions of popular actions shipped on node16 and are fixed in newer tags.
How to fix it
Upgrade the offending actions
- Identify the actions named in the warning.
- Bump them to versions whose action.yml uses runs.using: node20.
- For your own actions, change the manifest to node20 and rebuild dist.
action.yml
runs:
using: node20
main: dist/index.jsHow to prevent it
- Track deprecation warnings in CI and upgrade before the forced cutover.
- Author new actions on node20 from the start.
Related guides
GitHub Actions "Node.js 12 actions are not supported"Fix "Node.js 12 actions are not supported" hard failures by upgrading any action still using the removed node…
GitHub Actions "This action is deprecated" - Old actions/<x>@v1/@v2Fix GitHub Actions deprecation warnings/failures from old action majors - actions/checkout@v1, setup-node@v2,…
GitHub Actions composite action "using: node20 required"Fix the GitHub Actions error where an action.yml runs section is missing or has an invalid using value such a…