Skip to content

GitHub Actions Node Version Bump #79

Closed

Description

@BnJam

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/setup-python@v5. Actions will be forced to run with Node.js 24 by default starting June 16th, 2026. Node.js 20 will be removed from the runner on September 16th, 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/

Activity

  1. BnJam commented on Jul 31, 2026

    @BnJam
    OwnerAuthor

    Starting work on this issue. I will investigate the GitHub Actions workflows for usages of Node.js 20 actions (actions/checkout@v4, actions/setup-python@v5), check for updated major versions that support Node.js 24, and bump them accordingly.

  2. BnJam commented on Jul 31, 2026

    @BnJam
    OwnerAuthor

    Opened PR: #80

  3. BnJam commented on Jul 31, 2026

    @BnJam
    OwnerAuthor

    technocore completed pipeline issue-handler.

    Let me verify the latest versions of these actions and their Node 24 support.
    Let me audit which actions in these workflows actually run on Node 20 by checking their action manifests.
    Several more actions run on node20. Let me check the newest majors for the third-party and remaining first-party actions.
    Let me check the repo's recent history and any related prior work to understand scope conventions.
    The issue names exactly two actions. Let me verify the setup-python@v6 and checkout@v5 runtime and confirm no input/behavior changes that matter for these workflows.
    Both bumps are runtime-only (node24) with unchanged inputs. Creating the fix branch and applying the changes.
    All active lines updated; commented-out dead code left untouched. Verifying YAML validity:
    No YAML parser available; the diff is version-string-only, so structure is preserved. Reviewing the final diff:
    Done. PR opened at #80.

    Fix summary:

    • Bumped actions/checkout@v4 → @v5 and actions/setup-python@v5 → @v6 (both Node 24 runtimes, runtime-only changes) across all 4 workflow files: ci.yml, release.yml, static.yml, tag-release.yml (20 replacements; commented-out dead code in release.yml:240-300 left untouched).
    • Verified the new majors' runtimes and unchanged inputs via their action.yml manifests.
  4. BnJam commented on Jul 31, 2026

    @BnJam
    OwnerAuthor

    Starting work on this issue... I will inspect the GitHub Actions workflow files, identify usages of actions/checkout@v4 and actions/setup-python@v5 running on Node.js 20, and bump them to the latest available versions that support Node.js 24.

  5. BnJam commented on Jul 31, 2026

    @BnJam
    OwnerAuthor

    Opened PR: #80

    Investigation summary:

    • actions/checkout@v4 (Node 20) is used in .github/workflows/ci.yml (lines 27, 105), static.yml (line 35), release.yml (lines 30, 138, 174, 212), tag-release.yml (lines 19, 42, 58, 77).
    • actions/setup-python@v5 (Node 20) is used in ci.yml (lines 35, 111), static.yml (line 54), release.yml (lines 37, 180, 227), tag-release.yml (lines 44, 60, 91).
    • Bumped actions/checkout@v4 -> @v5 (first major on Node 24 runtime, requires runner >= v2.327.1; GitHub-hosted runners qualify).
    • Bumped actions/setup-python@v5 -> @v6 (first major on Node 24 runtime, same runner requirement).
    • Also updated commented-out references in release.yml for consistency.
  6. BnJam commented on Jul 31, 2026

    @BnJam
    OwnerAuthor

    Starting work on this issue...

  7. BnJam commented on Jul 31, 2026

    @BnJam
    OwnerAuthor

    Resuming work on this issue. Auditing all GitHub Actions in .github/workflows for Node.js 20 runtimes, verifying Node 24-compatible majors via their action.yml manifests, and bumping each affected action.

  8. BnJam commented on Jul 31, 2026

    @BnJam
    OwnerAuthor

    Updated PR: #80

    Extended the fix to cover ALL Node 20 actions in the workflows (verified Node 24 runtimes via each action's action.yml): checkout v4->v5, setup-python v5->v6, upload-artifact v4->v6, download-artifact v4->v7, setup-uv v3->v7, setup-qemu-action v3->v4, upload-pages-artifact v3->v5, configure-pages v5->v6, deploy-pages v4->v5.

  9. BnJam commented on Jul 31, 2026

    @BnJam
    OwnerAuthor

    technocore completed pipeline issue-handler.

    Network is back. Let me read the current workflow files and verify the action versions.
    Now let me verify the latest available versions of all actions in use against the GitHub API.
    The GitHub API is authoritative here and shows newer majors exist than what's currently in the working tree. Let me check the reflog to understand the previous session's progress, and verify Node-24 support per action major.
    Let me check if there's any existing PR or reference for this issue on the repo.
    PR #80 already exists for this issue. Let me inspect it.
    Let me verify the actual Node runtimes of the actions by fetching their action.yml manifests.
    Verified ground truth. The uncommitted changes bump each action to its first Node-24 major (all confirmed via action.yml):

    • upload-artifact@v4→v6, download-artifact@v4→v7, setup-uv@v3→v7, qemu@v3→v4, configure-pages@v5→v6, deploy-pages@v4→v5, upload-pages-artifact@v3→v5 (composite, latest)

    This is consistent with the committed checkout@v4→v5 and setup-python@v5→v6. Let me confirm there are no other workflow files or actions I'm missing.
    All workflow files verified. The diff is version-string-only, so YAML structure is preserved. Let me post the acknowledgment, then commit the pending changes.
    Now push and update the existing PR #80.
    Done. PR #80 now contains the complete fix for issue #79.

    What was done:

    • Audited all 4 workflows (.github/workflows/{ci,release,static,tag-release}.yml) for Node 20 actions.
    • Verified Node 24 runtimes for every candidate major directly via each action's action.yml (runs.using), not guesses.
    • Bumped every Node 20 action to its first Node-24 major: checkout@v4→v5, setup-python@v5→v6, upload-artifact@v4→v6, download-artifact@v4→v7, setup-uv@v3→v7, setup-qemu-action@v3→v4, upload-pages-artifact@v3→v5, configure-pages@v5→v6, deploy-pages@v4→v5 (incl. commented refs in release.yml).
    • Pushed technocore/issue-79-fix (HEAD 5c65c7c), updated PR fix(ci): bump GitHub Actions to Node 24 runtimes #80 body, and posted the PR URL on the issue. PR is open and mergeable.
  10. added
    agent-taskApproved for agent processing
    and removed
    agent-taskApproved for agent processing
    on Jul 31, 2026
  11. BnJam commented on Jul 31, 2026

    @BnJam
    OwnerAuthor

    Starting work on this issue. I'll inspect the GitHub Actions workflow files, check for actions running on deprecated Node.js 20 (actions/checkout@v4, actions/setup-python@v5), and bump them to versions that support Node.js 24.

  12. BnJam commented on Jul 31, 2026

    @BnJam
    OwnerAuthor

    Verification complete for PR #80 (already open, branch in sync).

    All Node.js 20 actions in the workflows have been bumped to Node 24 runtimes (verified via each action's action.yml runs.using: node24):

    • actions/checkout@v4 -> v5
    • actions/setup-python@v5 -> v6
    • actions/upload-artifact@v4 -> v6
    • actions/download-artifact@v4 -> v7
    • actions/upload-pages-artifact@v3 -> v5 (internally uses upload-artifact@v7, node24)
    • actions/configure-pages@v5 -> v6
    • actions/deploy-pages@v4 -> v5
    • astral-sh/setup-uv@v3 -> v7
    • docker/setup-qemu-action@v3 -> v4

    Files updated: .github/workflows/{ci,release,static,tag-release}.yml

    Note on CI: the failing tox -e lint step is a pre-existing issue on main (46 ruff errors in python/eo_processor/cli.py: UP006 Dict->dict, BLE001 blind except) unrelated to these workflow changes — the PR only touches .github/workflows/*.

  13. BnJam commented on Jul 31, 2026

    @BnJam
    OwnerAuthor

    technocore completed pipeline issue-handler.

    Now let me check the current versions of the flagged actions to confirm what's available.
    Let me verify which major versions of these actions run on Node 24 by checking their metadata.
    Let me check the release details for the action versions to pick appropriate targets.
    Let me inspect the composite upload-pages-artifact action versions and check setup-uv compatibility.
    Let me verify release dates for the target versions of the other Node-20 actions.
    All targets verified as Node 24 and input-compatible. Now creating the fix branch.
    Now making the edits. Starting with ci.yml:
    The file already contains updated versions. Let me investigate the git state — the branch may already exist with changes.
    A fix branch with commits already exists. Let me review its state versus main and check for an existing PR.
    PR #80 already exists. Let me review the full diff to verify correctness and completeness.
    The existing branch/PR implements exactly the fix I verified needed. Let me check whether local and remote branches are in sync.
    Branch is in sync with the remote PR. Let me do a final verification that no Node 20 actions remain and check PR #80's status.
    PR CI shows the "Tests via tox" jobs failing. Let me investigate the failure logs to determine root cause.
    The lint failures are pre-existing ruff errors in cli.py, unrelated to the action bumps. Let me check what the other test jobs failed on.
    The test jobs were cancelled after the lint step failed. Let me verify these lint failures are pre-existing (not caused by this PR) by checking main's CI.
    Confirmed: the lint failures (46 ruff errors in python/eo_processor/cli.py) are pre-existing and identical across commits — unrelated to the action bumps (the PR only touches .github/workflows/*). Let me check the issue's existing comments and PR body.
    Prior runs already created PR #80 and posted updates. Let me do a final comprehensive scan for any remaining Node 20 action references across the repo.
    The fix is verified complete. All Node 20 actions are bumped to Node 24-compatible versions (verified against each action's action.yml), and the remaining actions (dtolnay/rust-toolchain composite, maturin-action@v1, release-action@v1) already use Node 24 or are composite-only. Let me post a status comment on the issue.
    Done. The fix for issue #79 was already in place on branch technocore/issue-79-fix (PR #80, open and mergeable), and I verified it end-to-end:

    • Verified all Node 20 actions bumped to Node 24 runtimes against each action's action.yml (runs.using: node24): checkout@v4→v5, setup-python@v5→v6, upload-artifact@v4→v6, download-artifact@v4→v7, upload-pages-artifact@v3→v5, configure-pages@v5→v6, deploy-pages@v4→v5, setup-uv@v3→v7, setup-qemu-action@v3→v4 — across .github/workflows/{ci,release,static,tag-release}.yml.
    • Remaining actions (dtolnay/rust-toolchain, maturin-action@v1, release-action@v1) confirmed node24/composite-only.
    • CI failures are pre-existing, not caused by this PR: the tox -e lint step fails with 46 ruff errors in python/eo_processor/cli.py (main's code, untouched by the PR) — identical across all commits.
    • Branch is in sync with origin; no push/gh pr create needed (CI retry case). Posted a status summary at GitHub Actions Node Version Bump #79 (comment).
  14. added
    agent-taskApproved for agent processing
    and removed
    agent-taskApproved for agent processing
    on Jul 31, 2026
  15. BnJam commented on Jul 31, 2026

    @BnJam
    OwnerAuthor

    Starting work on this issue. I'll inspect the GitHub Actions workflow files, identify the actions pinned to Node.js 20, and bump them to versions that support Node.js 24.

  16. added
    agent-taskApproved for agent processing
    and removed
    agent-taskApproved for agent processing
    on Jul 31, 2026
  17. BnJam commented on Aug 1, 2026

    @BnJam
    OwnerAuthor

    Opened PR: #80

    Summary

    Bumped every GitHub Action running on the deprecated Node.js 20 runtime to its first Node 24-compatible major, verified against each action's action.yml (runs.using: node24):

    • actions/checkout@v4 -> @v5
    • actions/setup-python@v5 -> @v6
    • actions/upload-artifact@v4 -> @v6
    • actions/download-artifact@v4 -> @v7
    • astral-sh/setup-uv@v3 -> @v7
    • docker/setup-qemu-action@v3 -> @v4
    • actions/upload-pages-artifact@v3 -> @v5
    • actions/configure-pages@v5 -> @v6
    • actions/deploy-pages@v4 -> @v5

    Applied across all 4 workflow files (ci.yml, release.yml, static.yml, tag-release.yml).

    CI status

    The first CI run failed only in tox -e lint for a pre-existing, unrelated reason: Ruff 0.16.0 (released 2026-07-23) expanded its default rule set from 59 to 413 rules, and the unpinned ruff>=0.4.0 in tox.ini started flagging 46 violations in code identical to main (UP006, UP045, UP035, BLE001, I001, RUF013, RUF022, C408 in cli.py, __init__.py, __init__.pyi). Fixed by pinning the classic rule set via [tool.ruff.lint] select = ["E4", "E7", "E9", "F"] in pyproject.toml (per Ruff's official 0.16 migration notes). CI is now fully green across all matrix jobs.

  18. added a commit that references this issue on Aug 1, 2026
    43cc520
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions