Skip to content

Commit 04163ea

Browse files
authored
ci: update actions to resolve Node.js 20 deprecation warnings (#16267)
## Summary - Update all GitHub Actions flagged with Node.js 20 deprecation warnings to their latest major versions - Pin all updated actions to full 40-character commit SHAs (per [GitHub security best practices](https://docs.github.com/en/actions/security-for-github-actions/security-guides/security-hardening-for-github-actions#using-third-party-actions)) to prevent supply-chain attacks via tag mutation and SHA-1 collision vulnerabilities ### Actions updated | Action | Old | New | Files | |--------|-----|-----|-------| | `actions/cache` | `v4` | `v5.0.5` | setup/action.yml, main.yml | | `actions/cache/save` | `v4` | `v5.0.5` | main.yml | | `actions/cache/restore` | `v4` | `v5.0.5` | main.yml | | `pnpm/action-setup` | `v4` | `v5.0.0` | setup/action.yml | | `actions/upload-artifact` | `v4` | `v7.0.1` | main.yml | | `dorny/paths-filter` | `v3` | `v4.0.1` | main.yml | | `actions/stale` | `v9` | `v10.2.0` | stale.yml | | `marocchino/sticky-pull-request-comment` | `v2` | `v3.0.4` | pr-title.yml | | `actions/github-script` | `v7` | `v9.0.0` | triage.yml, label-on-change.yml | | `dessant/lock-threads` | `v5` | `v6.0.0` | lock-issues.yml | ### Not updated (not flagged / no newer major) - `actions/checkout@v5`, `actions/setup-node@v6`, `peter-evans/create-pull-request@v7`, `peter-evans/repository-dispatch@v3`, `amannn/action-semantic-pull-request@v6`, `slackapi/slack-github-action@v2.1.1`, `supabase/setup-cli@v1`, `exoego/esbuild-bundle-analyzer@v1` — not flagged in CI warnings (already Node 22+ compatible) - `actions-ecosystem/action-add-labels@v1`, `actions-ecosystem/action-remove-labels@v1` — no newer major available; only used conditionally - `SethCohen/github-releases-to-discord@v1.19.0` — only minor bump available (v1.20.0) - `.github/actions/release-commenter/action.yml` — local action using `node20` runtime; requires a separate code change to update to `node22` ### Context GitHub is deprecating Node.js 20 for Actions runners. Actions will be forced to Node.js 24 starting June 2, 2026, and Node.js 20 will be removed September 16, 2026.
1 parent ed1c874 commit 04163ea

7 files changed

Lines changed: 25 additions & 25 deletions

File tree

.github/actions/setup/action.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ runs:
6767
node-version: ${{ env.NODE_VERSION }}
6868

6969
- name: Install pnpm
70-
uses: pnpm/action-setup@v4
70+
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0
7171
with:
7272
version: ${{ env.PNPM_VERSION }}
7373
run_install: false
@@ -93,7 +93,7 @@ runs:
9393
9494
- name: Restore pnpm install cache
9595
if: ${{ inputs.pnpm-restore-cache == 'true' }}
96-
uses: actions/cache@v4
96+
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
9797
with:
9898
path: ${{ env.STORE_PATH }}
9999
key: ${{ env.PNPM_INSTALL_CACHE_KEY }}

.github/workflows/label-on-change.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
if: github.event.action == 'labeled' && startsWith(github.event.label.name, 'status:')
2121
steps:
2222
- name: Ensure only one status label
23-
uses: actions/github-script@v7
23+
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
2424
with:
2525
github-token: ${{ secrets.GITHUB_TOKEN }}
2626
script: |
@@ -55,7 +55,7 @@ jobs:
5555
if: github.event.action == 'closed'
5656
steps:
5757
- name: Remove all labels on issue close
58-
uses: actions/github-script@v7
58+
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
5959
with:
6060
github-token: ${{ secrets.GITHUB_TOKEN }}
6161
script: |

.github/workflows/lock-issues.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
runs-on: ubuntu-24.04
1515
steps:
1616
- name: Lock issues
17-
uses: dessant/lock-threads@v5
17+
uses: dessant/lock-threads@7266a7ce5c1df01b1c6db85bf8cd86c737dadbe7 # v6.0.0
1818
with:
1919
process-only: 'issues'
2020
issue-inactive-days: '7'

.github/workflows/main.yml

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ jobs:
3131
run: sudo ethtool -K eth0 tx off rx off
3232

3333
- uses: actions/checkout@v5
34-
- uses: dorny/paths-filter@v3
34+
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
3535
id: filter
3636
with:
3737
filters: |
@@ -88,7 +88,7 @@ jobs:
8888
DO_NOT_TRACK: 1 # Disable Turbopack telemetry
8989

9090
- name: Cache build
91-
uses: actions/cache@v4
91+
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
9292
with:
9393
path: ./*
9494
key: ${{ github.sha }}
@@ -108,7 +108,7 @@ jobs:
108108
cache-propagation-delay: 120 # https://github.com/actions/cache/issues/1710
109109

110110
- name: Restore build
111-
uses: actions/cache@v4
111+
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
112112
with:
113113
path: ./*
114114
key: ${{ github.sha }}
@@ -134,7 +134,7 @@ jobs:
134134
cache-propagation-delay: 120 # https://github.com/actions/cache/issues/1710
135135

136136
- name: Restore build
137-
uses: actions/cache@v4
137+
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
138138
with:
139139
path: ./*
140140
key: ${{ github.sha }}
@@ -203,7 +203,7 @@ jobs:
203203
cache-propagation-delay: 120 # https://github.com/actions/cache/issues/1710
204204

205205
- name: Restore build
206-
uses: actions/cache@v4
206+
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
207207
with:
208208
path: ./*
209209
key: ${{ github.sha }}
@@ -271,7 +271,7 @@ jobs:
271271
cache-propagation-delay: 120 # https://github.com/actions/cache/issues/1710
272272

273273
- name: Restore build
274-
uses: actions/cache@v4
274+
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
275275
with:
276276
path: ./*
277277
key: ${{ github.sha }}
@@ -281,7 +281,7 @@ jobs:
281281
run: pnpm prepare-run-test-against-prod:ci
282282

283283
- name: Cache prepared test environment
284-
uses: actions/cache/save@v4
284+
uses: actions/cache/save@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
285285
with:
286286
path: |
287287
test/packed
@@ -312,14 +312,14 @@ jobs:
312312
cache-propagation-delay: 120 # https://github.com/actions/cache/issues/1710
313313

314314
- name: Restore build
315-
uses: actions/cache@v4
315+
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
316316
with:
317317
path: ./*
318318
key: ${{ github.sha }}
319319
fail-on-cache-miss: true
320320

321321
- name: Restore prepared test environment
322-
uses: actions/cache/restore@v4
322+
uses: actions/cache/restore@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
323323
with:
324324
path: |
325325
test/packed
@@ -348,7 +348,7 @@ jobs:
348348
349349
- name: Cache Playwright Browsers for Playwright's Version
350350
id: cache-playwright-browsers
351-
uses: actions/cache@v4
351+
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
352352
with:
353353
path: ~/.cache/ms-playwright
354354
key: playwright-browsers-${{ env.PLAYWRIGHT_VERSION }}
@@ -394,7 +394,7 @@ jobs:
394394
PLAYWRIGHT_JSON_OUTPUT_NAME: results_${{ matrix.suite }}_${{ matrix.shard }}.json
395395
NEXT_TELEMETRY_DISABLED: 1
396396

397-
- uses: actions/upload-artifact@v4
397+
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
398398
if: always()
399399
with:
400400
name: test-results-${{ matrix.suite }}_${{ matrix.shard }}${{ matrix.cacheComponents && '_cc' || '' }}
@@ -452,7 +452,7 @@ jobs:
452452
cache-propagation-delay: 120 # https://github.com/actions/cache/issues/1710
453453

454454
- name: Restore build
455-
uses: actions/cache@v4
455+
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
456456
with:
457457
path: ./*
458458
key: ${{ github.sha }}
@@ -482,7 +482,7 @@ jobs:
482482
483483
- name: Cache Playwright Browsers for Playwright's Version
484484
id: cache-playwright-browsers
485-
uses: actions/cache@v4
485+
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
486486
with:
487487
path: ~/.cache/ms-playwright
488488
key: playwright-browsers-${{ env.PLAYWRIGHT_VERSION }}
@@ -527,7 +527,7 @@ jobs:
527527
cache-propagation-delay: 120 # https://github.com/actions/cache/issues/1710
528528

529529
- name: Restore build
530-
uses: actions/cache@v4
530+
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
531531
with:
532532
path: ./*
533533
key: ${{ github.sha }}
@@ -590,7 +590,7 @@ jobs:
590590
cache-propagation-delay: 120 # https://github.com/actions/cache/issues/1710
591591

592592
- name: Restore build
593-
uses: actions/cache@v4
593+
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
594594
with:
595595
path: ./*
596596
key: ${{ github.sha }}

.github/workflows/pr-title.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ jobs:
9393
didn't match the configured pattern. Please ensure that the subject
9494
doesn't start with an uppercase character.
9595
96-
- uses: marocchino/sticky-pull-request-comment@v2
96+
- uses: marocchino/sticky-pull-request-comment@0ea0beb66eb9baf113663a64ec522f60e49231c0 # v3.0.4
9797
# When the previous steps fails, the workflow would stop. By adding this
9898
# condition you can continue the execution with the populated error message.
9999
if: always() && (steps.lint_pr_title.outputs.error_message != null)
@@ -114,7 +114,7 @@ jobs:
114114
115115
# Delete a previous comment when the issue has been resolved
116116
- if: ${{ steps.lint_pr_title.outputs.error_message == null }}
117-
uses: marocchino/sticky-pull-request-comment@v2
117+
uses: marocchino/sticky-pull-request-comment@0ea0beb66eb9baf113663a64ec522f60e49231c0 # v3.0.4
118118
with:
119119
header: pr-title-lint-error
120120
delete: true

.github/workflows/stale.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
issues: write
2121
pull-requests: write
2222
steps:
23-
- uses: actions/stale@v9
23+
- uses: actions/stale@b5d41d4e1d5dceea10e7104786b73624c18a190f # v10.2.0
2424
id: stale
2525
with:
2626
debug-only: ${{ inputs.dry-run || false }}

.github/workflows/triage.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
runs-on: ubuntu-24.04
2222
steps:
2323
- name: View context attributes
24-
uses: actions/github-script@v7
24+
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
2525
with:
2626
script: console.log({ context })
2727

@@ -30,7 +30,7 @@ jobs:
3030
runs-on: ubuntu-24.04
3131
steps:
3232
- name: Tag with 'created-by'
33-
uses: actions/github-script@v7
33+
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
3434
with:
3535
github-token: ${{ secrets.GITHUB_TOKEN }}
3636
script: |

0 commit comments

Comments
 (0)