Skip to content

Commit b9ac408

Browse files
salmanmkcmeta-codesync[bot]
authored andcommitted
chore(ci): update GitHub Actions to latest versions with Node.js 24 support (#54885)
Summary: Updates all `actions/*` GitHub Actions to their latest versions to ensure compatibility with Node.js 24 and prepare for the [deprecation of Node.js 20 on GitHub Actions runners](https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/). ## Changelog: [Internal] [Changed] - Updated GitHub Actions to latest versions with Node.js 24 support ## Version Updates | Action | Previous | Current | Release Notes | |--------|----------|---------|---------------| | `actions/checkout` | v4 | **v6** | [v6.0.0](https://github.com/actions/checkout/releases/tag/v6.0.0) | | `actions/github-script` | v6 | **v8** | [v8.0.0](https://github.com/actions/github-script/releases/tag/v8.0.0) | | `actions/setup-node` | v4 | **v6** | [v6.0.0](https://github.com/actions/setup-node/releases/tag/v6.0.0) | | `actions/setup-java` | v2/v4 | **v5** | [v5.0.0](https://github.com/actions/setup-java/releases/tag/v5.0.0) | | `actions/upload-artifact` | v4/v4.3.4 | **v6** | [v6.0.0](https://github.com/actions/upload-artifact/releases/tag/v6.0.0) | | `actions/download-artifact` | v4/v4.1.3 | **v7** | [v7.0.0](https://github.com/actions/download-artifact/releases/tag/v7.0.0) | | `actions/cache` | v4 | **v5** | [v5.0.0](https://github.com/actions/cache/releases/tag/v5.0.0) | | `actions/stale` | v9 | **v10** | [v10.0.0](https://github.com/actions/stale/releases/tag/v10.0.0) | ## Why GitHub is [deprecating Node.js 20](https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/) on Actions runners. The new versions of these actions now run on Node.js 24 by default (`runs.using: node24`). ## Requirements - Minimum Actions Runner version: **v2.327.1** - Self-hosted runners should be updated before merging Pull Request resolved: #54885 Test Plan: - PR-triggered workflows (`test-all.yml`, `danger-pr.yml`) will validate core CI - Other workflows will be validated when their respective triggers occur (schedules, releases, issue events) Reviewed By: christophpurrer Differential Revision: D89178299 Pulled By: cipolleschi fbshipit-source-id: 889ca485486710bb3cd12122bef2731113b66077
1 parent 07bd24e commit b9ac408

32 files changed

+125
-125
lines changed

.github/actions/build-android/action.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ runs:
2828
cache-read-only: "false"
2929
cache-encryption-key: ${{ inputs.gradle-cache-encryption-key }}
3030
- name: Restore Android ccache
31-
uses: actions/cache/restore@v4
31+
uses: actions/cache/restore@v5
3232
with:
3333
path: /github/home/.cache/ccache
3434
key: v2-ccache-android-${{ github.job }}-${{ github.ref }}-${{ hashFiles('packages/react-native/ReactAndroid/**/*.cpp', 'packages/react-native/ReactAndroid/**/*.h', 'packages/react-native/ReactCommon/**/*.cpp', 'packages/react-native/ReactAndroid/**/CMakeLists.txt', 'packages/react-native/ReactCommon/**/CMakeLists.txt') }}
@@ -57,21 +57,21 @@ runs:
5757
./gradlew $TASKS -PenableWarningsAsErrors=true
5858
- name: Save Android ccache
5959
if: ${{ github.ref == 'refs/heads/main' || contains(github.ref, '-stable') }}
60-
uses: actions/cache/save@v4
60+
uses: actions/cache/save@v5
6161
with:
6262
path: /github/home/.cache/ccache
6363
key: v2-ccache-android-${{ github.job }}-${{ github.ref }}-${{ hashFiles('packages/react-native/ReactAndroid/**/*.cpp', 'packages/react-native/ReactAndroid/**/*.h', 'packages/react-native/ReactCommon/**/*.cpp', 'packages/react-native/ReactAndroid/**/CMakeLists.txt', 'packages/react-native/ReactCommon/**/CMakeLists.txt') }}
6464
- name: Show ccache stats
6565
shell: bash
6666
run: ccache -s -v
6767
- name: Upload Maven Artifacts
68-
uses: actions/upload-artifact@v4.3.4
68+
uses: actions/upload-artifact@v6
6969
with:
7070
name: maven-local
7171
path: /tmp/maven-local
7272
- name: Upload test results
7373
if: ${{ always() }}
74-
uses: actions/upload-artifact@v4.3.4
74+
uses: actions/upload-artifact@v6
7575
with:
7676
name: build-android-results
7777
compression-level: 1
@@ -81,14 +81,14 @@ runs:
8181
packages/react-native/ReactAndroid/build/reports
8282
- name: Upload RNTester APK - hermes-debug
8383
if: ${{ always() }}
84-
uses: actions/upload-artifact@v4.3.4
84+
uses: actions/upload-artifact@v6
8585
with:
8686
name: rntester-debug
8787
path: packages/rn-tester/android/app/build/outputs/apk/debug/
8888
compression-level: 0
8989
- name: Upload RNTester APK - hermes-release
9090
if: ${{ always() }}
91-
uses: actions/upload-artifact@v4.3.4
91+
uses: actions/upload-artifact@v6
9292
with:
9393
name: rntester-release
9494
path: packages/rn-tester/android/app/build/outputs/apk/release/

.github/actions/build-npm-package/action.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@ runs:
1818
shell: bash
1919
run: git config --global --add safe.directory '*'
2020
- name: Download ReactNativeDependencies
21-
uses: actions/download-artifact@v4
21+
uses: actions/download-artifact@v7
2222
with:
2323
pattern: ReactNativeDependencies*
2424
path: ./packages/react-native/ReactAndroid/external-artifacts/artifacts
2525
merge-multiple: true
2626
- name: Download ReactCore artifacts
27-
uses: actions/download-artifact@v4
27+
uses: actions/download-artifact@v7
2828
with:
2929
pattern: ReactCore*
3030
path: ./packages/react-native/ReactAndroid/external-artifacts/artifacts
@@ -65,7 +65,7 @@ runs:
6565
fi
6666
node ./scripts/releases-ci/publish-npm.js -t ${{ inputs.release-type }}
6767
- name: Upload npm logs
68-
uses: actions/upload-artifact@v4.3.4
68+
uses: actions/upload-artifact@v6
6969
with:
7070
name: npm-logs
7171
path: ~/.npm/_logs
@@ -80,7 +80,7 @@ runs:
8080
8181
echo "$FILENAME" > build/react-native-package-version
8282
- name: Upload release package
83-
uses: actions/upload-artifact@v4.3.4
83+
uses: actions/upload-artifact@v6
8484
if: ${{ inputs.release-type == 'dry-run' }}
8585
with:
8686
name: react-native-package

.github/actions/maestro-android/action.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ runs:
3535
run: export MAESTRO_VERSION=1.40.0; curl -Ls "https://get.maestro.mobile.dev" | bash
3636
- name: Set up JDK 17
3737
if: ${{ inputs.install-java == 'true' }}
38-
uses: actions/setup-java@v4
38+
uses: actions/setup-java@v5
3939
with:
4040
java-version: '17'
4141
distribution: 'zulu'
@@ -73,7 +73,7 @@ runs:
7373
NORM_APP_ID=$(echo "${{ inputs.app-id }}" | tr '.' '-')
7474
echo "app-id=$NORM_APP_ID" >> $GITHUB_OUTPUT
7575
- name: Store tests result
76-
uses: actions/upload-artifact@v4.3.4
76+
uses: actions/upload-artifact@v6
7777
if: always()
7878
with:
7979
name: e2e_android_${{ steps.normalize-app-id.outputs.app-id }}_report_${{ inputs.flavor }}_${{ inputs.emulator-arch }}_NewArch
@@ -82,7 +82,7 @@ runs:
8282
screen.mp4
8383
- name: Store Logs
8484
if: steps.run-tests.outcome == 'failure'
85-
uses: actions/upload-artifact@v4.3.4
85+
uses: actions/upload-artifact@v6
8686
with:
8787
name: maestro-logs-android-${{ steps.normalize-app-id.outputs.app-id }}-${{ inputs.flavor }}-${{ inputs.emulator-arch }}-NewArch
8888
path: /tmp/MaestroLogs

.github/actions/maestro-ios/action.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ runs:
3131
brew tap facebook/fb
3232
brew install facebook/fb/idb-companion
3333
- name: Set up JDK 11
34-
uses: actions/setup-java@v2
34+
uses: actions/setup-java@v5
3535
with:
3636
java-version: '17'
3737
distribution: 'zulu'
@@ -66,7 +66,7 @@ runs:
6666
"${{ inputs.working-directory }}"
6767
- name: Store video record
6868
if: always()
69-
uses: actions/upload-artifact@v4.3.4
69+
uses: actions/upload-artifact@v6
7070
with:
7171
name: e2e_ios_${{ inputs.app-id }}_report_${{ inputs.flavor }}_NewArch
7272
path: |
@@ -78,7 +78,7 @@ runs:
7878
report.xml
7979
- name: Store Logs
8080
if: failure() && steps.run-tests.outcome == 'failure'
81-
uses: actions/upload-artifact@v4.3.4
81+
uses: actions/upload-artifact@v6
8282
with:
8383
name: maestro-logs-${{ inputs.app-id }}-${{ inputs.flavor }}-NewArch
8484
path: /tmp/MaestroLogs

.github/actions/run-fantom-tests/action.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ runs:
2727
cache-read-only: "false"
2828
cache-encryption-key: ${{ inputs.gradle-cache-encryption-key }}
2929
- name: Restore Fantom ccache
30-
uses: actions/cache/restore@v4
30+
uses: actions/cache/restore@v5
3131
with:
3232
path: /github/home/.cache/ccache
3333
key: v2-ccache-fantom-${{ github.job }}-${{ github.ref }}-${{ hashFiles(
@@ -56,7 +56,7 @@ runs:
5656
CXX: clang++
5757
- name: Save Fantom ccache
5858
if: ${{ github.ref == 'refs/heads/main' || contains(github.ref, '-stable') }}
59-
uses: actions/cache/save@v4
59+
uses: actions/cache/save@v5
6060
with:
6161
path: /github/home/.cache/ccache
6262
key: v2-ccache-fantom-${{ github.job }}-${{ github.ref }}-${{ hashFiles(
@@ -75,7 +75,7 @@ runs:
7575
run: ccache -s -v
7676
- name: Upload test results
7777
if: ${{ always() }}
78-
uses: actions/upload-artifact@v4.3.4
78+
uses: actions/upload-artifact@v6
7979
with:
8080
name: run-fantom-tests-results
8181
compression-level: 1

.github/actions/setup-node/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ runs:
99
using: "composite"
1010
steps:
1111
- name: Setup node.js
12-
uses: actions/setup-node@v4
12+
uses: actions/setup-node@v6
1313
with:
1414
node-version: ${{ inputs.node-version }}
1515
cache: yarn

.github/actions/test-ios-helloworld/action.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,15 +32,15 @@ runs:
3232
- name: Run yarn install again, with the correct hermes version
3333
uses: ./.github/actions/yarn-install
3434
- name: Download ReactNativeDependencies
35-
uses: actions/download-artifact@v4
35+
uses: actions/download-artifact@v7
3636
with:
3737
name: ReactNativeDependencies${{ inputs.flavor }}.xcframework.tar.gz
3838
path: /tmp/third-party
3939
- name: Print third-party folder
4040
shell: bash
4141
run: ls -lR /tmp/third-party
4242
- name: Download React Native Prebuilds
43-
uses: actions/download-artifact@v4
43+
uses: actions/download-artifact@v7
4444
with:
4545
name: ReactCore${{ inputs.flavor }}.xcframework.tar.gz
4646
path: /tmp/ReactCore

.github/actions/test-ios-rntester/action.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ runs:
4545
uses: ./.github/actions/prepare-ios-tests
4646
- name: Download ReactNativeDependencies
4747
if: ${{ inputs.use-frameworks == 'false' }}
48-
uses: actions/download-artifact@v4
48+
uses: actions/download-artifact@v7
4949
with:
5050
name: ReactNativeDependencies${{ inputs.flavor }}.xcframework.tar.gz
5151
path: /tmp/third-party/
@@ -55,7 +55,7 @@ runs:
5555
run: ls -lR /tmp/third-party
5656
- name: Download React Native Prebuilds
5757
if: ${{ inputs.use-frameworks == 'false' }}
58-
uses: actions/download-artifact@v4
58+
uses: actions/download-artifact@v7
5959
with:
6060
name: ReactCore${{ inputs.flavor }}.xcframework.tar.gz
6161
path: /tmp/ReactCore
@@ -107,20 +107,20 @@ runs:
107107
cd /Users/runner/Library/Developer/Xcode
108108
tar -zcvf xcresults.tar.gz "/tmp/RNTesterTestResults"
109109
- name: Upload artifact
110-
uses: actions/upload-artifact@v4.3.4
110+
uses: actions/upload-artifact@v6
111111
if: ${{ inputs.run-unit-tests == 'true' }}
112112
with:
113113
name: xcresults-${{ inputs.flavor }}-${{ inputs.use-frameworks == 'true' && 'dynamic-frameworks' || 'static-libraries' }}-Ruby${{ inputs.ruby-version }}
114114
path: /Users/runner/Library/Developer/Xcode/xcresults.tar.gz
115115
- name: Upload RNTester App
116116
if: ${{ inputs.use-frameworks == 'false' && inputs.ruby-version == '2.6.10' }} # This is needed to avoid conflicts with the artifacts
117-
uses: actions/upload-artifact@v4.3.4
117+
uses: actions/upload-artifact@v6
118118
with:
119119
name: RNTesterApp-NewArch-${{ inputs.flavor }}
120120
path: ${{ env.app-path }}
121121
- name: Store test results
122122
if: ${{ inputs.run-unit-tests == 'true' }}
123-
uses: actions/upload-artifact@v4.3.4
123+
uses: actions/upload-artifact@v6
124124
with:
125125
name: test-results-${{ inputs.flavor }}-${{ inputs.use-frameworks == 'true' && 'dynamic-frameworks' || 'static-libraries' }}-Ruby${{ inputs.ruby-version }}
126126
path: ./reports/junit

.github/actions/test-js/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ runs:
1919
run: node ./scripts/run-ci-javascript-tests.js --maxWorkers 2
2020
- name: Upload test results
2121
if: ${{ always() }}
22-
uses: actions/upload-artifact@v4.3.4
22+
uses: actions/upload-artifact@v6
2323
with:
2424
name: test-js-results
2525
compression-level: 1

.github/workflows/autorebase.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
if: github.event.issue.pull_request != '' && contains(github.event.comment.body, '/rebase')
1818
steps:
1919
- name: Checkout the latest code
20-
uses: actions/checkout@v4
20+
uses: actions/checkout@v6
2121
with:
2222
token: ${{ secrets.GITHUB_TOKEN }}
2323
fetch-depth: 0 # otherwise, you will fail to push refs to dest repo

0 commit comments

Comments
 (0)