Skip to content

Upgrade CI actions to latest major versions (Node.js 24)#2951

Open
Copilot wants to merge 2 commits into
mainfrom
copilot/upgrade-actions-to-v4-and-v3
Open

Upgrade CI actions to latest major versions (Node.js 24)#2951
Copilot wants to merge 2 commits into
mainfrom
copilot/upgrade-actions-to-v4-and-v3

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 14, 2026

Motivation or Problem

GitHub Actions emits this deprecation warning in our CI logs:

Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: conda-incubator/setup-miniconda@v3, julia-actions/install-juliaup@v2.

As GitHub phases out Node.js 20 runners these actions could stop working. A full audit of all workflow files found additional outdated actions.

Description of Changes

Upgraded all outdated actions to their latest major versions (Node.js 24) across all workflow files:

CI.yml, conda_build.yml, docs.yml:

  • conda-incubator/setup-miniconda@v3v4

CI.yml:

  • julia-actions/install-juliaup@v2v3
  • docker/setup-qemu-action@v3v4
  • docker/setup-buildx-action@v3v4
  • docker/login-action@v3v4
  • docker/build-push-action@v6v7
  • actions/upload-artifact@v4v7
  • actions/download-artifact@v4v8

annotate.yml:

  • actions/github-script@v8v9
  • thollander/actions-comment-pull-request@v2v3 (breaking parameter renames: filePathfile-path, pr_numberpr-number — updated in call site)

Testing

All upgrades were checked for breaking changes against our actual usage. Most are drop-in replacements. The one call-site change required is the parameter rename for thollander/actions-comment-pull-request v3. CI will confirm they work correctly on the updated versions.

Reviewer Tips

Check that CI passes with the new action versions. The only logic change is the parameter rename in annotate.yml for thollander/actions-comment-pull-request.

GitHub Actions emits a deprecation warning when actions run on Node.js 20:
  "conda-incubator/setup-miniconda@v3 and julia-actions/install-juliaup@v2
  are running on Node.js 20 and may not work as expected."

Both actions have released newer major versions that move to Node.js 24:
- conda-incubator/setup-miniconda v4 (Node.js 24)
- julia-actions/install-juliaup v3 (Node.js 24)

Upgrade all three workflow files (CI.yml, conda_build.yml, docs.yml) to
remove these warnings and ensure continued compatibility as GitHub
eventually retires Node.js 20 runners.

Agent-Logs-Url: https://github.com/ReactionMechanismGenerator/RMG-Py/sessions/89dd52b8-94be-44c3-b6b7-8031ca29802e

Co-authored-by: rwest <93807+rwest@users.noreply.github.com>
Copilot finished work on behalf of rwest May 14, 2026 02:27
Copilot AI requested a review from rwest May 14, 2026 02:27
@rwest rwest requested review from JacksonBurns and removed request for rwest May 14, 2026 03:14
@rwest rwest marked this pull request as ready for review May 14, 2026 03:14
@rwest
Copy link
Copy Markdown
Member

rwest commented May 14, 2026

@copilot please look for other actions that can/should be upgraded, and do so - but be careful for breaking changes to the APIs because some upgrades are not drop-in replacements (please check)

Also upgrade the following actions across all workflow files, checking
each for breaking changes and adapting the call sites where needed:

- docker/setup-qemu-action v3 → v4 (Node.js 24, no API changes)
- docker/setup-buildx-action v3 → v4 (Node.js 24, removes deprecated
  inputs/outputs that we don't use)
- docker/login-action v3 → v4 (Node.js 24, no API changes)
- docker/build-push-action v6 → v7 (Node.js 24, removes DOCKER_BUILD_*
  env vars we don't use)
- actions/upload-artifact v4 → v7 (Node.js 24, adds direct-upload
  feature; no interface changes affecting our usage)
- actions/download-artifact v4 → v8 (v5 breaking change only affects
  by-ID downloads; we download by name so it is safe)
- actions/github-script v8 → v9 (breaking change is require('@actions/
  github') no longer works; we only use the injected github.rest client
  and Node built-in require('fs'), both of which still work)
- thollander/actions-comment-pull-request v2 → v3 (breaking parameter
  renames: filePath→file-path, pr_number→pr-number; updated in
  annotate.yml accordingly)

Agent-Logs-Url: https://github.com/ReactionMechanismGenerator/RMG-Py/sessions/a5d5cf7e-139d-41e9-9e56-8a312fbeff41

Co-authored-by: rwest <93807+rwest@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented May 14, 2026

@copilot please look for other actions that can/should be upgraded, and do so - but be careful for breaking changes to the APIs because some upgrades are not drop-in replacements (please check)

Done in commit 3ae660b. Audited all actions across all workflow files and upgraded everything that had a newer major version available:

Drop-in upgrades (no API changes for our usage):

  • docker/setup-qemu-action v3 → v4
  • docker/setup-buildx-action v3 → v4 (removes deprecated inputs we don't use)
  • docker/login-action v3 → v4
  • docker/build-push-action v6 → v7 (removes DOCKER_BUILD_* env vars we don't set)
  • actions/upload-artifact v4 → v7
  • actions/download-artifact v4 → v8 (v5 breaking change only affects single-artifact-by-ID downloads; we download by name)
  • actions/github-script v8 → v9 (v9 breaks require('@actions/github') in scripts, but our script only uses the injected github.rest client and Node's built-in require('fs'))

Upgrade with call-site fixes (annotate.yml):

  • thollander/actions-comment-pull-request v2 → v3: parameter names changed — updated filePathfile-path and pr_numberpr-number

Already at latest major version (no change needed):

  • actions/checkout v6 ✓
  • actions/stale v10 ✓

Copilot AI changed the title Upgrade CI actions: setup-miniconda v3→v4, install-juliaup v2→v3 Upgrade CI actions to latest major versions (Node.js 24) May 14, 2026
Copilot finished work on behalf of rwest May 14, 2026 17:36
Copilot AI requested a review from rwest May 14, 2026 17:36
Copy link
Copy Markdown
Contributor

@JacksonBurns JacksonBurns left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Assuming all of the checks pass, this looks fine!

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.

3 participants