Skip to content

ci: upgrade GitHub Actions for Node.js 24 compatibility#143

Open
ko3n1g wants to merge 1 commit intomainfrom
ko3n1g/upgrade-github-actions-node24
Open

ci: upgrade GitHub Actions for Node.js 24 compatibility#143
ko3n1g wants to merge 1 commit intomainfrom
ko3n1g/upgrade-github-actions-node24

Conversation

@ko3n1g
Copy link
Contributor

@ko3n1g ko3n1g commented Mar 22, 2026

Summary

Upgrades all GitHub Actions to versions compatible with the Node.js 24 runtime, which GitHub is rolling out as the new runner default.

Action upgrades:

  • actions/checkout: any version → v6
  • actions/upload-artifact: any version → v6
  • actions/download-artifact: any version → v7
  • actions/github-script: any version → v8
  • actions/setup-python: any version → v6

Mirrors: NVIDIA/Megatron-LM@1d5e68b

Test plan

  • Verify CI pipelines pass after merge

🤖 Generated with Claude Code

Upgrades actions to versions compatible with the Node.js 24 runtime:
- actions/checkout: → v6
- actions/upload-artifact: → v6
- actions/download-artifact: → v7
- actions/github-script: → v8
- actions/setup-python: → v6

Mirrors: NVIDIA/Megatron-LM@1d5e68b
Signed-off-by: oliver könig <okoenig@nvidia.com>
@ko3n1g ko3n1g requested a review from a team as a code owner March 22, 2026 10:17
@greptile-apps
Copy link
Contributor

greptile-apps bot commented Mar 22, 2026

Greptile Summary

This PR performs a mechanical, repo-wide upgrade of five GitHub Actions to versions that run on the Node.js 24 runtime (node24), mirroring an identical change already applied to NVIDIA/Megatron-LM. All upgrades are internally consistent: actions/checkout@v6, actions/upload-artifact@v6, actions/download-artifact@v7, actions/github-script@v8, and actions/setup-python@v6 are applied uniformly across every workflow file that referenced an older version.

  • Version pairing is correctupload-artifact@v6 and download-artifact@v7 share the same artifact storage backend generation and are compatible with each other.
  • Self-hosted runner requirementactions/upload-artifact@v6 (and the other Node.js 24 actions) require Actions Runner ≥ 2.327.1. The self-hosted-nemo runner in _build_container.yml and the custom GPU/CPU runners in cicd-main.yml must be at or above that version before this change takes effect; GitHub-hosted ubuntu-latest runners satisfy this automatically.
  • No behavioral changes – the upgrades are purely runtime/engine changes; no action inputs, outputs, or workflow logic was altered.

Confidence Score: 5/5

  • Safe to merge; changes are mechanical version bumps with no logic alterations and a proven mirror in Megatron-LM.
  • All five action upgrades are consistent and correct across every file. The version pairing (upload-artifact v6 / download-artifact v7) is intentional and validated by the referenced upstream commit. The only consideration is ensuring self-hosted runners are at the required minimum version, which is an operational pre-check rather than a code defect. No workflow logic, inputs, or outputs were changed.
  • Confirm that self-hosted-nemo (used in _build_container.yml) and the custom GPU/CPU runners in cicd-main.yml are running Actions Runner ≥ 2.327.1 before merging.

Important Files Changed

Filename Overview
.github/actions/test-template/action.yml Upgrades actions/checkout from v2 → v6 and actions/upload-artifact from v4 → v6 for Node.js 24 compatibility.
.github/workflows/_build_container.yml Upgrades actions/checkout from v4 → v6. This workflow runs on the self-hosted self-hosted-nemo runner, which must be at Actions Runner v2.327.1+ for the Node.js 24-based actions to work.
.github/workflows/cicd-approve-test-queue.yml Upgrades actions/checkout from v4 → v6 and actions/setup-python from v5 → v6. Runs on ubuntu-latest (GitHub-hosted) so runner version requirement is automatically satisfied.
.github/workflows/cicd-main.yml Comprehensive upgrade of actions/checkout (v4→v6), actions/upload-artifact (v4→v6), actions/download-artifact (v4→v7), and actions/github-script (v6→v8) throughout the main CI/CD pipeline. Version pairing of upload-artifact@v6 with download-artifact@v7 is consistent with the referenced Megatron-LM mirror commit.
.github/workflows/code-linting.yml Upgrades actions/checkout from v4 → v6. Runs on ubuntu-latest so no self-hosted runner concern.

Sequence Diagram

sequenceDiagram
    participant PR as Pull Request Push
    participant PF as pre-flight
    participant BC as _build_container<br/>(checkout@v6)
    participant UT as cicd-unit-tests<br/>(checkout@v6)
    participant UA as upload-artifact@v6
    participant NT as cicd-nightly-tests<br/>(checkout@v6)
    participant DA as download-artifact@v7
    participant PT as publish-test-results
    participant NC as Nemo_CICD_Test<br/>(checkout@v6, github-script@v8)
    participant CV as Coverage<br/>(checkout@v6)

    PR->>PF: trigger
    PF->>BC: dispatch (self-hosted-nemo runner)
    BC->>UT: image ready
    UT->>UA: upload test results
    BC->>NT: image ready (schedule only)
    NT->>UA: upload test results
    UA->>DA: artifacts stored
    DA->>PT: download & publish
    UT->>NC: status
    NC->>CV: trigger coverage aggregation
    CV->>DA: download coverage artifacts
    CV->>UA: upload aggregated coverage
Loading

Reviews (1): Last reviewed commit: "ci: upgrade GitHub Actions for Node.js 2..." | Re-trigger Greptile

Comment on lines 44 to +45
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v6
Copy link
Contributor

Choose a reason for hiding this comment

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

P2 Self-hosted runner version prerequisite

actions/upload-artifact@v6 (and the other Node.js 24-based actions) require a minimum Actions Runner version of 2.327.1. This workflow runs on self-hosted-nemo (a self-hosted runner), so before or alongside this merge you'll want to confirm that runner has been updated. GitHub-hosted runners on ubuntu-latest pick this up automatically, but self-hosted ones don't.

The same applies to the custom GPU runners (${{ needs.pre-flight.outputs.runner_prefix }}-gpu-x2, linux-amd64-cpu16) used in cicd-main.yml. If those runners are below 2.327.1, the jobs will fail with a node24 runtime error at startup rather than a meaningful test failure.

@github-actions
Copy link

Test Results

   48 files  ±0     98 suites  ±0   1m 18s ⏱️ -1s
1 012 tests ±0  1 012 ✅ ±0  0 💤 ±0  0 ❌ ±0 
2 255 runs  ±0  2 255 ✅ ±0  0 💤 ±0  0 ❌ ±0 

Results for commit 406bb7b. ± Comparison against base commit 8a44b09.

@codecov
Copy link

codecov bot commented Mar 22, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

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