Skip to content

Upgrade GitHub Actions for Node 24 compatibility#1566

Open
salmanmkc wants to merge 1 commit intodimensionalOS:mainfrom
salmanmkc:upgrade-github-actions-node24
Open

Upgrade GitHub Actions for Node 24 compatibility#1566
salmanmkc wants to merge 1 commit intodimensionalOS:mainfrom
salmanmkc:upgrade-github-actions-node24

Conversation

@salmanmkc
Copy link

Warning

You may currently be seeing a warning like this in your workflow runs:

Node.js 20 actions are deprecated. The following actions are running on Node.js 20
and may not work as expected: actions/checkout@v4, actions/checkout@v3, actions/setup-python@v3, actions/upload-artifact@v4.
Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026.
Please check if updated versions of these actions are available that support Node.js 24.
To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment
variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you
can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true.
For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/

The exact actions listed will vary per workflow.

Upgrades GitHub Actions to versions that support Node 24, since Node 20 is reaching EOL in April 2026.

Changes

Action Old Version(s) New Version Compare Files
actions/checkout v3, v4 v6 Diff _docker-build-template.yml, action.yml, code-cleanup.yml, docker.yml, tests.yml
actions/setup-python v3 v6 Diff code-cleanup.yml
actions/upload-artifact v4 v7 Diff tests.yml

Context

Per GitHub's announcement, Node 20 is being deprecated and runners will default to Node 24 starting June 2nd, 2026.

  • Node 20 EOL: April 2026
  • Node 24 becomes default: June 2nd, 2026

Notes

Worth running the workflows on a branch before merging to make sure everything still works.

Signed-off-by: Salman Muin Kayser Chishti <13schishti@gmail.com>
@greptile-apps
Copy link
Contributor

greptile-apps bot commented Mar 15, 2026

Greptile Summary

This PR upgrades the official GitHub Actions (actions/checkout, actions/setup-python, actions/upload-artifact) to their latest major versions (v6, v6, v7 respectively) across all CI workflow files, preparing for GitHub's Node 20 deprecation and Node 24 default (June 2, 2026).

  • Upgraded: actions/checkout v3/v4 → v6 (5 files), actions/setup-python v3 → v6 (1 file), actions/upload-artifact v4 → v7 (1 file)
  • Not upgraded: Third-party Docker actions (docker/login-action@v3, docker/setup-buildx-action@v3, docker/build-push-action@v6) also run on Node 20 and have Node 24-compatible major versions available (v4, v4, v7). These should be included to fully address the deprecation warnings.
  • All changes are version bumps only with no behavioral or configuration changes

Confidence Score: 4/5

  • This PR is safe to merge — it only bumps action versions with no logic changes, though it is incomplete in scope.
  • All changes are straightforward version bumps of well-known GitHub Actions. The upgrades themselves are correct and compatible. The score is 4 instead of 5 because several Docker-related actions (docker/login-action, docker/setup-buildx-action, docker/build-push-action) were not upgraded and will continue to trigger Node 20 deprecation warnings.
  • action.yml, _docker-build-template.yml, and docker.yml still contain Docker actions on Node 20 that will trigger deprecation warnings.

Important Files Changed

Filename Overview
.github/actions/docker-build/action.yml Updated actions/checkout from v4 to v6. However, docker/login-action@v3, crazy-max/ghaction-github-runtime@v3, docker/setup-buildx-action@v3, and docker/build-push-action@v6 are still on Node 20 versions and were not upgraded.
.github/workflows/_docker-build-template.yml Updated actions/checkout from v4 to v6. Same Docker actions (docker/login-action@v3, docker/setup-buildx-action@v3, docker/build-push-action@v6) remain on Node 20 versions.
.github/workflows/code-cleanup.yml Updated actions/checkout from v3 to v6 and actions/setup-python from v3 to v6. All official GitHub actions in this file are now on Node 24-compatible versions.
.github/workflows/docker.yml Updated all actions/checkout references (3 occurrences) from v4 to v6. Docker actions (docker/login-action@v3, docker/setup-buildx-action@v3, docker/build-push-action@v6) remain on Node 20 versions.
.github/workflows/tests.yml Updated actions/checkout from v4 to v6 and actions/upload-artifact from v4 to v7. All actions in this file are now on Node 24-compatible versions.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    subgraph Upgraded["Upgraded to Node 24 ✅"]
        A["actions/checkout@v6"]
        B["actions/setup-python@v6"]
        C["actions/upload-artifact@v7"]
    end

    subgraph NotUpgraded["Still on Node 20 ⚠️"]
        D["docker/login-action@v3"]
        E["docker/setup-buildx-action@v3"]
        F["docker/build-push-action@v6"]
        G["crazy-max/ghaction-github-runtime@v3"]
    end

    subgraph Workflows
        W1["code-cleanup.yml"]
        W2["tests.yml"]
        W3["docker.yml"]
        W4["_docker-build-template.yml"]
        W5["action.yml"]
    end

    W1 --> A & B
    W2 --> A & C
    W3 --> A & D & E & F & G
    W4 --> A & D & E & F & G
    W5 --> A & D & E & F & G
Loading

Last reviewed commit: 59f7295

- uses: actions/checkout@v4
- uses: actions/checkout@v6

- uses: docker/login-action@v3
Copy link
Contributor

Choose a reason for hiding this comment

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

Docker actions still on Node 20

Several Docker actions in this file (and across the other workflow files) are still running on Node 20 and have newer Node 24-compatible versions available:

  • docker/login-action@v3 → v4 is available with Node 24 support
  • docker/setup-buildx-action@v3 → v4 is available with Node 24 support
  • docker/build-push-action@v6 → v7 is available with Node 24 support

Since the goal of this PR is Node 24 compatibility, these should also be upgraded to fully resolve the deprecation warnings. The same pattern applies in:

  • .github/workflows/_docker-build-template.yml (lines 119, 127, 131, 138)
  • .github/workflows/docker.yml (lines 166, 172, 174, 180)

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