GitHub Actions Deprecations: What Is Breaking and How to Fix It
GitHub deprecates runtimes, commands, and images on a schedule. Stay ahead of the warnings before they become failures.
Deprecations start as warnings and end as broken builds. This tracker lists the recurring ones and the fix for each. Check the GitHub changelog for exact dates.
Recurring deprecations
| Deprecation | Fix |
|---|---|
| Node 16 actions runtime | Upgrade actions to versions running on Node 20 |
save-state / set-output commands | Write to $GITHUB_STATE / $GITHUB_OUTPUT files |
| Older runner images (e.g. ubuntu-20.04) | Move to ubuntu-latest or a pinned current image |
| upload-artifact/download-artifact v3 | Migrate to v4 (note the breaking changes) |
| Deprecated action major versions | Bump uses: to the current major |
How to stay ahead
- Watch for deprecation warnings in your run logs and treat them as work, not noise.
- Use Dependabot to bump action versions automatically.
- Pin to majors (
@v4) so you get fixes without surprise breaks.
Related guides
dorny/paths-filter: Conditional Jobs by Changed PathsReference for dorny/paths-filter: detect which paths changed in a push or PR and gate downstream jobs or step…
JamesIves/github-pages-deploy-action: Deploy to PagesReference for JamesIves/github-pages-deploy-action: deploy a built folder to a GitHub Pages branch, with fold…
Dependabot: dependabot.yml Configuration ReferenceReference for dependabot.yml: configure automated dependency update PRs per ecosystem, including update sched…