Upgrade GitHub Actions for Node 24 compatibility (#981)

## 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/cache` |
[`v4`](https://github.com/actions/cache/releases/tag/v4) |
[`v5`](https://github.com/actions/cache/releases/tag/v5) |
[Release](https://github.com/actions/cache/releases/tag/v5) | docs.yml |
| `actions/checkout` |
[`v3`](https://github.com/actions/checkout/releases/tag/v3),
[`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) |
amd-ci.yml, benchmark.yml, docs.yml, intel-ci.yml, nvi-ci.yml,
publish-nightly.yml, publish-release.yml |
| `actions/setup-python` |
[`v3`](https://github.com/actions/setup-python/releases/tag/v3),
[`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) |
amd-ci.yml, benchmark.yml, docs.yml, intel-ci.yml, nvi-ci.yml,
publish-nightly.yml, publish-release.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.

Signed-off-by: Salman Muin Kayser Chishti <[email protected]>
This commit is contained in:
Salman Chishti
2026-01-12 13:02:14 +08:00
committed by GitHub
parent 13e1bbe59b
commit ad38a3da0f
7 changed files with 23 additions and 23 deletions
+4 -4
View File
@@ -26,10 +26,10 @@ jobs:
steps:
- name: Checkout code
uses: actions/checkout@v3
uses: actions/checkout@v6
- name: Set up Python
uses: actions/setup-python@v3
uses: actions/setup-python@v6
with:
python-version: '3.10'
@@ -50,10 +50,10 @@ jobs:
steps:
- name: Checkout code
uses: actions/checkout@v3
uses: actions/checkout@v6
- name: Set up Python
uses: actions/setup-python@v3
uses: actions/setup-python@v6
with:
python-version: '3.10'
+3 -3
View File
@@ -45,7 +45,7 @@ jobs:
# Step: Decide the commit hash to use
# Step: Checkout full history so we can check out any commit
- name: Checkout full repo history
uses: actions/checkout@v3
uses: actions/checkout@v6
with:
fetch-depth: 0 # Important: so we can checkout arbitrary commit
@@ -100,7 +100,7 @@ jobs:
fi
- name: Set up Python
uses: actions/setup-python@v3
uses: actions/setup-python@v6
with:
python-version: '3.10'
@@ -121,7 +121,7 @@ jobs:
# Step 5: Checkout gh-pages branch in a subfolderAdd commentMore actions
- name: Checkout gh-pages
uses: actions/checkout@v3
uses: actions/checkout@v6
with:
ref: gh-pages
path: gh-pages
+3 -3
View File
@@ -13,16 +13,16 @@ jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- name: Configure Git Credentials
run: |
git config user.name github-actions[bot]
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
- uses: actions/setup-python@v5
- uses: actions/setup-python@v6
with:
python-version: 3.x
- run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
- uses: actions/cache@v4
- uses: actions/cache@v5
with:
key: mkdocs-material-${{ env.cache_id }}
path: .cache
+3 -3
View File
@@ -26,10 +26,10 @@ jobs:
steps:
- name: Checkout code
uses: actions/checkout@v3
uses: actions/checkout@v6
- name: Set up Python
uses: actions/setup-python@v3
uses: actions/setup-python@v6
with:
python-version: '3.10'
@@ -58,7 +58,7 @@ jobs:
apt-get clean && rm -rf /var/lib/apt/lists/*
- name: Checkout code
uses: actions/checkout@v3
uses: actions/checkout@v6
- name: Setup Dependencies
shell: bash
+6 -6
View File
@@ -25,10 +25,10 @@ jobs:
steps:
- name: Checkout code
uses: actions/checkout@v3
uses: actions/checkout@v6
- name: Set up Python
uses: actions/setup-python@v3
uses: actions/setup-python@v6
with:
python-version: '3.10'
@@ -49,10 +49,10 @@ jobs:
steps:
- name: Checkout code
uses: actions/checkout@v3
uses: actions/checkout@v6
- name: Set up Python
uses: actions/setup-python@v3
uses: actions/setup-python@v6
with:
python-version: '3.10'
@@ -75,10 +75,10 @@ jobs:
steps:
- name: Checkout code
uses: actions/checkout@v3
uses: actions/checkout@v6
- name: Set up Python
uses: actions/setup-python@v3
uses: actions/setup-python@v6
with:
python-version: '3.10'
+2 -2
View File
@@ -13,10 +13,10 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v6
- name: Set up Python
uses: actions/setup-python@v3
uses: actions/setup-python@v6
with:
python-version: '3.8'
+2 -2
View File
@@ -10,10 +10,10 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v6
- name: Set up Python
uses: actions/setup-python@v3
uses: actions/setup-python@v6
with:
python-version: '3.10'