Skip to content

Commit 641ae30

Browse files
committed
ci: update GitHub Actions to Node.js 24 runtime
Node.js 20 actions are deprecated by GitHub and will stop working in June 2026. Updated all workflow actions to their latest versions that use the Node.js 24 runtime: - actions/checkout: v4 → v5 - actions/setup-node: v4 → v5 - dorny/paths-filter: v3 → v4 - heyAyushh/setup-anchor: v0.31 → v4.999 - heyAyushh/setup-solana: v2.02 → v5.9 Also added FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true env variable to all workflows. This forces any remaining Node.js 20 actions (e.g. those used internally by composite actions) to run on Node.js 24. See: https://github.blog/changelog/2025-06-09-github-actions-node-js-20-deprecation/
1 parent 68fea89 commit 641ae30

4 files changed

Lines changed: 39 additions & 21 deletions

File tree

.github/workflows/anchor.yml

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ env:
1515
MAX_JOBS: 64
1616
MIN_PROJECTS_PER_JOB: 4
1717
MIN_PROJECTS_FOR_MATRIX: 4
18+
# Force all JavaScript-based actions to use Node.js 24 runtime.
19+
# Node.js 20 actions are deprecated and will stop working June 2026.
20+
# This catches composite actions whose internal dependencies still reference @v4.
21+
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
1822

1923
jobs:
2024
changes:
@@ -26,8 +30,8 @@ jobs:
2630
total_projects: ${{ steps.analyze.outputs.total_projects }}
2731
matrix: ${{ steps.matrix.outputs.matrix }}
2832
steps:
29-
- uses: actions/checkout@v4
30-
- uses: dorny/paths-filter@v3
33+
- uses: actions/checkout@v5
34+
- uses: dorny/paths-filter@v4
3135
id: changes
3236
if: github.event_name == 'pull_request'
3337
with:
@@ -103,8 +107,8 @@ jobs:
103107
outputs:
104108
failed_projects: ${{ steps.set-failed.outputs.failed_projects }}
105109
steps:
106-
- uses: actions/checkout@v4
107-
- uses: heyAyushh/setup-anchor@v0.31
110+
- uses: actions/checkout@v5
111+
- uses: heyAyushh/setup-anchor@v4.999
108112
with:
109113
anchor-version: 0.32.1
110114
solana-cli-version: stable
@@ -204,7 +208,7 @@ jobs:
204208
if: always()
205209
runs-on: ubuntu-latest
206210
steps:
207-
- uses: actions/checkout@v4
211+
- uses: actions/checkout@v5
208212
- name: Create job summary
209213
run: |
210214
echo "## Anchor Workflow Summary" >> $GITHUB_STEP_SUMMARY

.github/workflows/rust.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,12 @@ on:
1414
branches:
1515
- main
1616

17+
env:
18+
# Force all JavaScript-based actions to use Node.js 24 runtime.
19+
# Node.js 20 actions are deprecated and will stop working June 2026.
20+
# This catches composite actions whose internal dependencies still reference @v4.
21+
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
22+
1723
# A workflow run is made up of one or more jobs, which run in parallel by default
1824
# Each job runs in a runner environment specified by runs-on
1925
jobs:
@@ -22,7 +28,7 @@ jobs:
2228
name: Rustfmt
2329
runs-on: ubuntu-latest
2430
steps:
25-
- uses: actions/checkout@v4
31+
- uses: actions/checkout@v5
2632
- uses: dtolnay/rust-toolchain@stable
2733
with:
2834
# Specific to dtolnay/rust-toolchain: Comma-separated string of additional components to install
@@ -35,7 +41,7 @@ jobs:
3541
name: Clippy
3642
runs-on: ubuntu-latest
3743
steps:
38-
- uses: actions/checkout@v4
44+
- uses: actions/checkout@v5
3945
- uses: dtolnay/rust-toolchain@stable
4046
with:
4147
components: clippy

.github/workflows/solana-native.yml

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ env:
1515
MAX_JOBS: 64
1616
MIN_PROJECTS_PER_JOB: 4
1717
MIN_PROJECTS_FOR_MATRIX: 4
18+
# Force all JavaScript-based actions to use Node.js 24 runtime.
19+
# Node.js 20 actions are deprecated and will stop working June 2026.
20+
# This catches composite actions whose internal dependencies still reference @v4.
21+
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
1822

1923
jobs:
2024
changes:
@@ -26,8 +30,8 @@ jobs:
2630
total_projects: ${{ steps.analyze.outputs.total_projects }}
2731
matrix: ${{ steps.matrix.outputs.matrix }}
2832
steps:
29-
- uses: actions/checkout@v4
30-
- uses: dorny/paths-filter@v3
33+
- uses: actions/checkout@v5
34+
- uses: dorny/paths-filter@v4
3135
id: changes
3236
if: github.event_name == 'pull_request'
3337
with:
@@ -102,9 +106,9 @@ jobs:
102106
outputs:
103107
failed_projects: ${{ steps.set-failed.outputs.failed_projects }}
104108
steps:
105-
- uses: actions/checkout@v4
109+
- uses: actions/checkout@v5
106110
- name: Use Node.js
107-
uses: actions/setup-node@v4
111+
uses: actions/setup-node@v5
108112
with:
109113
node-version: 'lts/*'
110114
check-latest: true
@@ -191,7 +195,7 @@ jobs:
191195
# Install pnpm
192196
npm install --global pnpm
193197
- name: Setup Solana Stable
194-
uses: heyAyushh/setup-solana@v2.02
198+
uses: heyAyushh/setup-solana@v5.9
195199
with:
196200
solana-cli-version: stable
197201
- name: Build and Test with Stable
@@ -205,7 +209,7 @@ jobs:
205209
# with heyAyushh/setup-solana — beta setup clears the stable install first.
206210
- name: Setup Solana Beta
207211
continue-on-error: true
208-
uses: heyAyushh/setup-solana@v2.02
212+
uses: heyAyushh/setup-solana@v5.9
209213
with:
210214
solana-cli-version: beta
211215
- name: Build and Test with Beta
@@ -232,7 +236,7 @@ jobs:
232236
if: always()
233237
runs-on: ubuntu-latest
234238
steps:
235-
- uses: actions/checkout@v4
239+
- uses: actions/checkout@v5
236240
- name: Create job summary
237241
run: |
238242
echo "## Native Workflow Summary" >> $GITHUB_STEP_SUMMARY

.github/workflows/solana-pinocchio.yml

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ env:
1515
MAX_JOBS: 64
1616
MIN_PROJECTS_PER_JOB: 4
1717
MIN_PROJECTS_FOR_MATRIX: 4
18+
# Force all JavaScript-based actions to use Node.js 24 runtime.
19+
# Node.js 20 actions are deprecated and will stop working June 2026.
20+
# This catches composite actions whose internal dependencies still reference @v4.
21+
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
1822

1923
jobs:
2024
changes:
@@ -26,8 +30,8 @@ jobs:
2630
total_projects: ${{ steps.analyze.outputs.total_projects }}
2731
matrix: ${{ steps.matrix.outputs.matrix }}
2832
steps:
29-
- uses: actions/checkout@v4
30-
- uses: dorny/paths-filter@v3
33+
- uses: actions/checkout@v5
34+
- uses: dorny/paths-filter@v4
3135
id: changes
3236
if: github.event_name == 'pull_request'
3337
with:
@@ -102,9 +106,9 @@ jobs:
102106
outputs:
103107
failed_projects: ${{ steps.set-failed.outputs.failed_projects }}
104108
steps:
105-
- uses: actions/checkout@v4
109+
- uses: actions/checkout@v5
106110
- name: Use Node.js
107-
uses: actions/setup-node@v4
111+
uses: actions/setup-node@v5
108112
with:
109113
node-version: "lts/*"
110114
check-latest: true
@@ -191,7 +195,7 @@ jobs:
191195
# Install pnpm
192196
npm install --global pnpm
193197
- name: Setup Solana Stable
194-
uses: heyAyushh/setup-solana@v2.02
198+
uses: heyAyushh/setup-solana@v5.9
195199
with:
196200
solana-cli-version: stable
197201
- name: Build and Test with Stable
@@ -205,7 +209,7 @@ jobs:
205209
# with heyAyushh/setup-solana — beta setup clears the stable install first.
206210
- name: Setup Solana Beta
207211
continue-on-error: true
208-
uses: heyAyushh/setup-solana@v2.02
212+
uses: heyAyushh/setup-solana@v5.9
209213
with:
210214
solana-cli-version: beta
211215
- name: Build and Test with Beta
@@ -232,7 +236,7 @@ jobs:
232236
if: always()
233237
runs-on: ubuntu-latest
234238
steps:
235-
- uses: actions/checkout@v4
239+
- uses: actions/checkout@v5
236240
- name: Create job summary
237241
run: |
238242
echo "## Pinocchio Workflow Summary" >> $GITHUB_STEP_SUMMARY

0 commit comments

Comments
 (0)