Migrating GitHub Actions to the Node 20 Runtime
GitHub moved the Actions runtime to Node 20 and deprecated Node 16. Old action versions throw warnings, then stop working.
JavaScript actions run on a Node runtime supplied by GitHub. As Node 16 reaches end of life, actions pinned to it are deprecated.
What to do
- Find warnings mentioning Node 16 in your run logs.
- Bump those actions to versions that declare
runs.using: node20(usually the latest major). - Re-run and confirm the warnings are gone.
For your own actions
If you maintain a JavaScript action, set runs.using: node20 in action.yml and test on the current runner image.
Related guides
GitHub Actions Deprecations: What Is Breaking and How to Fix ItA running list of GitHub Actions deprecations - Node runtime versions, workflow commands, and runner images -…
actions/checkout: Usage, Inputs & Common FixesReference for actions/checkout - fetch-depth, submodules, token for private repos, and the fixes for detached…