#3884: Upgrade GitHub Actions for Node 24 compatibility
Cluster:
GitHub Actions CI Improvements
## Summary
Upgrade GitHub Actions to their latest versions to ensure compatibility with Node 24, as Node 20 will reach end-of-life in April 2026.
## Changes
| Action | Old Version(s) | New Version | Release | Files |
|--------|---------------|-------------|---------|-------|
| `actions/checkout` | [`v4`](https://github.com/actions/checkout/releases/tag/v4) | [`v6`](https://github.com/actions/checkout/releases/tag/v6) | [Release](https://github.com/actions/checkout/releases/tag/v6) | ci.yml, docker-release.yml, install-smoke.yml, workflow-sanity.yml |
| `actions/github-script` | [`v7`](https://github.com/actions/github-script/releases/tag/v7) | [`v8`](https://github.com/actions/github-script/releases/tag/v8) | [Release](https://github.com/actions/github-script/releases/tag/v8) | auto-response.yml |
| `actions/labeler` | [`v5`](https://github.com/actions/labeler/releases/tag/v5) | [`v6`](https://github.com/actions/labeler/releases/tag/v6) | [Release](https://github.com/actions/labeler/releases/tag/v6) | labeler.yml |
| `actions/setup-java` | [`v4`](https://github.com/actions/setup-java/releases/tag/v4) | [`v5`](https://github.com/actions/setup-java/releases/tag/v5) | [Release](https://github.com/actions/setup-java/releases/tag/v5) | ci.yml |
| `actions/setup-node` | [`v4`](https://github.com/actions/setup-node/releases/tag/v4) | [`v6`](https://github.com/actions/setup-node/releases/tag/v6) | [Release](https://github.com/actions/setup-node/releases/tag/v6) | ci.yml |
| `actions/setup-python` | [`v5`](https://github.com/actions/setup-python/releases/tag/v5) | [`v6`](https://github.com/actions/setup-python/releases/tag/v6) | [Release](https://github.com/actions/setup-python/releases/tag/v6) | ci.yml |
## Context
Per [GitHub's announcement](https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/), Node 20 is being deprecated and runners will begin using Node 24 by default starting March 4th, 2026.
### Why this matters
- **Node 20 EOL**: April 2026
- **Node 24 default**: March 4th, 2026
- **Action**: Update to latest action versions that support Node 24
### Security Note
Actions that were previously pinned to commit SHAs remain pinned to SHAs (updated to the latest release SHA) to maintain the security benefits of immutable references.
### Testing
These changes only affect CI/CD workflow configurations and should not impact application functionality. The workflows should be tested by running them on a branch before merging.
<!-- greptile_comment -->
<h2>Greptile Overview</h2>
<h3>Greptile Summary</h3>
This PR updates GitHub Actions workflow dependencies to versions that run on newer Node runtimes (in response to GitHub Actions runner deprecating Node 20). Concretely, it bumps `actions/checkout` to `v6` across CI/release/sanity workflows, upgrades `actions/setup-node` to `v6`, `actions/setup-python` to `v6`, `actions/setup-java` to `v5`, and bumps `actions/github-script` / `actions/labeler` to their latest majors.
These changes are isolated to `.github/workflows/*` and primarily affect how CI jobs check out code and provision toolchains on GitHub runners; application/runtime behavior is unchanged.
<h3>Confidence Score: 5/5</h3>
- This PR is safe to merge; it is a straightforward workflow action-version bump with no apparent behavioral regressions in the YAML.
- All changes are limited to updating `uses:` versions for well-known GitHub Actions, and the workflow syntax/inputs remain consistent with current usage (no removed/renamed inputs observed in the edited steps). No secrets-handling or permission scope changes were introduced.
- No files require special attention
<!-- greptile_other_comments_section -->
<!-- /greptile_comment -->
Most Similar PRs
#3885: Upgrade GitHub Actions to latest versions
by salmanmkc · 2026-01-29
86.0%
#9474: fix: GitHub Actions not pinned to SHA digests in CI/CD workflows
by coygeek · 2026-02-05
77.1%
#4116: Update Dockerfile to node 24
by kotov228 · 2026-01-29
74.9%
#11313: feat(ci): add staged release pipeline workflows (dormant)
by quotentiroler · 2026-02-07
73.9%
#11765: fix(ci): restrict GITHUB_TOKEN permissions in workflows
by coygeek · 2026-02-08
73.6%
#12876: major test workflow: enhance coverage infrastructure
by Mathbkj · 2026-02-09
72.2%
#12396: chore(deps): improve dependabot configuration with commit message p...
by dikshithreddym · 2026-02-09
72.1%
#22250: ci: pin GitHub Actions to SHA and harden Dockerfiles
by novalis133 · 2026-02-20
72.1%
#17452: ci: Grant write perms for Issues for formal-conformance.yml
by thesomewhatyou · 2026-02-15
70.3%
#8988: fix: resolve security vulnerabilities in dependencies
by fotorpics · 2026-02-04
69.9%