Skip to content

ci: update GitHub Actions to Node 24 majors - #1934

Merged
mrrobot47 merged 1 commit into
EasyEngine:developfrom
mrrobot47:ci/update-actions-node24
Sep 24, 2026
Merged

mrrobot47 merged 1 commit into
EasyEngine:developfrom
mrrobot47:ci/update-actions-node24

Conversation

@mrrobot47

Copy link
Copy Markdown
Member

Summary

GitHub Actions runners now force actions built for Node 20 onto Node 24 and print a deprecation warning on every run (e.g. "Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v3, actions/checkout@v3, actions/upload-artifact@v4"). Once Node 20 is removed from runners these steps will fail. This bumps every action in test_and_build.yml to its latest major that declares runs.using: node24.

Changes

Action Before After
actions/checkout v3 v7
actions/cache v3 v6
actions/upload-artifact v4 v7
actions/download-artifact v4 v8
softprops/action-gh-release v1 v3
ad-m/github-push-action master v1.3.0 (pinned)
shivammathur/setup-php v2 unchanged (already node24)

Compatibility notes

  • upload-artifact v7 and download-artifact v8 use the same artifact backend, so the phar and VERSION artifacts passed between jobs keep working. Direct (unzipped) uploads are opt-in and not used here. download-artifact v8 now fails on a digest mismatch instead of warning.
  • checkout v6+ persists credentials to a separate file; the easyengine-builds checkout and push both pass their own token, so the deploy job is unaffected. checkout v7 blocks fork PR checkouts only for pull_request_target/workflow_run, which this workflow doesn't use.
  • action-gh-release v3 keeps the inputs used here (body_path, files, draft, name, token).
  • Pinning github-push-action to a release makes the deploy step reproducible instead of tracking master.

Testing

  • actionlint: the "action is too old to run" errors for checkout@v3, cache@v3 and action-gh-release@v1 are gone; the remaining findings are pre-existing shellcheck notes in run: scripts.
  • The build and Behat jobs run on this PR. The deploy and release jobs only run on develop pushes and tags, so they'll be exercised by the next nightly and release.

GitHub runners now force Node 20 actions onto Node 24 and warn: "Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v3, actions/checkout@v3, actions/upload-artifact@v4."

Bump every action to its latest major that runs on node24: actions/checkout v3 -> v7, actions/cache v3 -> v6, actions/upload-artifact v4 -> v7, actions/download-artifact v4 -> v8 (upload and download stay compatible), softprops/action-gh-release v1 -> v3, and pin ad-m/github-push-action from master to v1.3.0. shivammathur/setup-php@v2 already runs on node24.
@mrrobot47
mrrobot47 merged commit 34ef4e1 into EasyEngine:develop Sep 24, 2026
11 checks passed
@mrrobot47
mrrobot47 deleted the ci/update-actions-node24 branch September 24, 2026 10:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant