Skip to content

Commit be95918

Browse files
committed
Merge branch 'main' into improve-lineheight-calc-ios
2 parents 8a0de4a + f140c49 commit be95918

728 files changed

Lines changed: 6456 additions & 5687 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.flowconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,4 +98,4 @@ untyped-import
9898
untyped-type-import
9999

100100
[version]
101-
^0.294.0
101+
^0.295.0

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

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,17 @@ runs:
1616
uses: ./.github/actions/setup-node
1717
- name: Install node dependencies
1818
uses: ./.github/actions/yarn-install
19+
- name: Read current RNVersion
20+
shell: bash
21+
id: read-rn-version
22+
run: |
23+
echo "rn-version=$(jq -r '.version' packages/react-native/package.json)" >> $GITHUB_OUTPUT
1924
- name: Set React Native Version
2025
# We don't want to set the version for stable branches, because this has been
2126
# already set from the 'create release' commits on the release branch.
22-
if: ${{ !endsWith(github.ref_name, '-stable') }}
27+
# For testing RC.0, though, the version has not been set yet. In that case, we are on Stable branch and
28+
# it is the only case when the version is still 1000.0.0
29+
if: ${{ !endsWith(github.ref_name, '-stable') || endsWith(github.ref_name, '-stable') && steps.read-rn-version.outputs.rn-version == '1000.0.0' }}
2330
shell: bash
2431
run: node ./scripts/releases/set-rn-artifacts-version.js --build-type ${{ inputs.release-type }}
2532
- name: Setup gradle
@@ -28,7 +35,7 @@ runs:
2835
cache-read-only: "false"
2936
cache-encryption-key: ${{ inputs.gradle-cache-encryption-key }}
3037
- name: Restore Android ccache
31-
uses: actions/cache/restore@v4
38+
uses: actions/cache/restore@v5
3239
with:
3340
path: /github/home/.cache/ccache
3441
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') }}
@@ -45,33 +52,36 @@ runs:
4552
if [[ "${{ inputs.release-type }}" == "dry-run" ]]; then
4653
# dry-run: we only build ARM64 to save time/resources. For release/nightlies the default is to build all archs.
4754
export ORG_GRADLE_PROJECT_reactNativeArchitectures="arm64-v8a,x86" # x86 is required for E2E testing
55+
export HERMES_PREBUILT_FLAG="ORG_GRADLE_PROJECT_react.internal.useHermesNightly=true"
4856
TASKS="publishAllToMavenTempLocal build"
4957
elif [[ "${{ inputs.release-type }}" == "nightly" ]]; then
5058
# nightly: we set isSnapshot to true so artifacts are sent to the right repository on Maven Central.
5159
export ORG_GRADLE_PROJECT_isSnapshot="true"
60+
export HERMES_PREBUILT_FLAG="ORG_GRADLE_PROJECT_react.internal.useHermesNightly=true"
5261
TASKS="publishAllToMavenTempLocal publishAndroidToSonatype build"
5362
else
5463
# release: we want to build all archs (default)
64+
export HERMES_PREBUILT_FLAG="ORG_GRADLE_PROJECT_react.internal.useHermesStable=true"
5565
TASKS="publishAllToMavenTempLocal publishAndroidToSonatype build"
5666
fi
57-
./gradlew $TASKS -PenableWarningsAsErrors=true
67+
env "$HERMES_PREBUILT_FLAG" ./gradlew $TASKS -PenableWarningsAsErrors=true
5868
- name: Save Android ccache
5969
if: ${{ github.ref == 'refs/heads/main' || contains(github.ref, '-stable') }}
60-
uses: actions/cache/save@v4
70+
uses: actions/cache/save@v5
6171
with:
6272
path: /github/home/.cache/ccache
6373
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') }}
6474
- name: Show ccache stats
6575
shell: bash
6676
run: ccache -s -v
6777
- name: Upload Maven Artifacts
68-
uses: actions/upload-artifact@v4.3.4
78+
uses: actions/upload-artifact@v6
6979
with:
7080
name: maven-local
7181
path: /tmp/maven-local
7282
- name: Upload test results
7383
if: ${{ always() }}
74-
uses: actions/upload-artifact@v4.3.4
84+
uses: actions/upload-artifact@v6
7585
with:
7686
name: build-android-results
7787
compression-level: 1
@@ -81,14 +91,14 @@ runs:
8191
packages/react-native/ReactAndroid/build/reports
8292
- name: Upload RNTester APK - hermes-debug
8393
if: ${{ always() }}
84-
uses: actions/upload-artifact@v4.3.4
94+
uses: actions/upload-artifact@v6
8595
with:
8696
name: rntester-debug
8797
path: packages/rn-tester/android/app/build/outputs/apk/debug/
8898
compression-level: 0
8999
- name: Upload RNTester APK - hermes-release
90100
if: ${{ always() }}
91-
uses: actions/upload-artifact@v4.3.4
101+
uses: actions/upload-artifact@v6
92102
with:
93103
name: rntester-release
94104
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/diff-js-api-breaking-changes/action.yml

Lines changed: 0 additions & 40 deletions
This file was deleted.
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: diff-js-api-changes
2+
description: Check for breaking changes in the public React Native JS API
3+
runs:
4+
using: composite
5+
steps:
6+
- name: Compute merge base with main
7+
id: merge_base
8+
shell: bash
9+
run: |
10+
git fetch origin main
11+
git fetch --deepen=500
12+
echo "merge_base=$(git merge-base HEAD origin/main)" >> $GITHUB_OUTPUT
13+
14+
- name: Output snapshot before state for comparison
15+
shell: bash
16+
env:
17+
SCRATCH_DIR: ${{ runner.temp }}/diff-js-api-changes
18+
run: |
19+
mkdir -p $SCRATCH_DIR
20+
git show ${{ steps.merge_base.outputs.merge_base }}:packages/react-native/ReactNativeApi.d.ts > $SCRATCH_DIR/ReactNativeApi-before.d.ts \
21+
|| echo "" > $SCRATCH_DIR/ReactNativeApi-before.d.ts
22+
23+
- name: Run breaking change detection
24+
shell: bash
25+
env:
26+
SCRATCH_DIR: ${{ runner.temp }}/diff-js-api-changes
27+
run: |
28+
node ./scripts/js-api/diff-api-snapshot \
29+
$SCRATCH_DIR/ReactNativeApi-before.d.ts \
30+
./packages/react-native/ReactNativeApi.d.ts \
31+
> $SCRATCH_DIR/output.json

.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: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@ inputs:
44
node-version:
55
description: 'The node.js version to use'
66
required: false
7-
default: '22.14.0'
7+
default: '22.11.0'
88
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

0 commit comments

Comments
 (0)