Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/56172
Changelog: [Internal]
Removes obsolete workflows which were testing Hermes V1 integration. Since Hermes V1 is the default now, those are no longer needed.
Reviewed By: cortinico
Differential Revision: D97464853
fbshipit-source-id: df3394548e6e1b3cf854674b2371cf31be935c81
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/54729
Changelog: [Internal]
- Created new build-fantom-runner action to compile the Fantom runner binary
- Modified run-fantom-tests action to download and use pre-built binary
- Updated test-all.yml workflow to run build and test as separate jobs
- Removed build dependencies and ccache configuration from test job
Reviewed By: cortinico
Differential Revision: D88012198
fbshipit-source-id: cd1c91b18cccc3c62b9edbcbeb131e80551369f1
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/56005
Changelog: [Internal]
The build_debugger_shell CI job was failing because build-binary.js
expects pkg.main to start with ./dist/, but without --prepack the
prepack.js script never runs, so main stays as ./src/index.js.
This was caused by a series of PRs:
- PR #54857 refactored debugger-shell/package.json to use the
publishConfig pattern, moving main from ./dist/index.js to
./src/index.js.
- PR #55415 added the --prepack flag to build.js to support this.
- PR #55416 added the build_debugger_shell CI job but ran yarn build
without --prepack.
The fix passes --prepack to yarn build so that prepack.js rewrites
package.json main to ./dist/index.js before build-binary.js runs.
Reviewed By: huntie
Differential Revision: D95818417
fbshipit-source-id: 03c8340c415960c3937b13bdea3952798d2d420e
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/55917
As a defensive initial design, conditional Android/iOS job runs for `test-all` were intended to be scoped to PRs only, however required a missing `== 'true'` match specifier.
Fixing this will help us catch rare integration-conflict failures on `main`, at the appropriate commit.
Changelog: [Internal]
Reviewed By: cortinico
Differential Revision: D95042221
fbshipit-source-id: ffa23651c9b8c18939ccbd7ab2279243690944d2
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/55867
Changelog: [Internal]
The build_android workflow was incorrectly using for dry-run
builds on stable branches (e.g., 0.85-stable), causing it to append suffix
to the Hermes version. This resulted in trying to fetch non-existent SNAPSHOT artifacts
like in https://github.com/facebook/react-native/actions/runs/22592250332/job/65471130298.
This fix adds a check to detect stable branches (via github.ref_name or github.base_ref)
and uses instead, which fetches the stable Hermes release from
Maven Central without the -SNAPSHOT suffix.
We check both github.ref_name and github.base_ref to cover two scenarios:
* ref_name: Direct pushes to stable branches (e.g. pushing to 0.85-stable)
* base_ref: Pull requests targeting stable branches (e.g. cherry-pick PRs where the source branch isn't named -stable but the target is)
Reviewed By: cipolleschi
Differential Revision: D95022571
fbshipit-source-id: d5888a00b29c9b5a22328fa794070c317671db2b
Summary:
When a PR targets a `-stable` branch, `github.ref_name` is the PR branch (not ending in `-stable`), so the version script was incorrectly running. Added a check for `github.base_ref` to also skip the script when the PR target branch is a stable branch.
## Changelog:
[Internal] - Skip set-rn-artifacts-version for PRs targeting stable branches
Pull Request resolved: https://github.com/facebook/react-native/pull/55809
Test Plan: CI should pass without running the artifacts version script on PRs targeting stable branches.
Reviewed By: cortinico
Differential Revision: D94678295
Pulled By: cipolleschi
fbshipit-source-id: 5809ec710c191075f1bc1528ecff95f8bd745257
Summary:
This updates the CI to use `REACT_NATIVE_DOWNLOADS_DIR` so the directory where the C++ dependencies are consumed from is always the same.
This works in conjuction with:
- https://github.com/react-native-community/docker-android/pull/248
## Changelog:
[INTERNAL] -
Pull Request resolved: https://github.com/facebook/react-native/pull/55567
Test Plan: CI
Reviewed By: cipolleschi
Differential Revision: D93417423
Pulled By: cortinico
fbshipit-source-id: 75664e7d48cbba2483e05c023ac0201fb768ef35
Summary:
This reapplies the same changes from https://github.com/facebook/react-native/issues/55453 to further jobs that were missing it.
This should unblock nightlies that are currently failing.
## Changelog:
[INTERNAL] -
Pull Request resolved: https://github.com/facebook/react-native/pull/55564
Test Plan: CI
Reviewed By: cipolleschi
Differential Revision: D93408173
Pulled By: cortinico
fbshipit-source-id: 11823daeb8ef95fb5b9b8942f23f33353b6d6b6b
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/55449
Further workflow optimisation after D92417918. Aims to improve speed of CI signals and reduce costs by excluding Android and iOS specific jobs when a PR contains changes exclusively within native code to one platform.
Changelog: [Internal]
Reviewed By: NickGerleman
Differential Revision: D92512983
fbshipit-source-id: feb67ce140014352219ae2b5720fc819ec5e1c11
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/55469
Rename workflow job IDs from kebab-case to snake_case and update workflow name to match convention.
Changelog: [General][Changed] - rename workflow job IDs from kebab-case to snake_case
Reviewed By: huntie
Differential Revision: D92697078
fbshipit-source-id: bc8c99b6807997fe625d1f7921b3664992697b36
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/55385
Now that all Danger.js checks have been migrated to native GitHub Actions in the `annotate-pr.yml` workflow, this removes the deprecated Danger infrastructure:
- Deletes `.github/workflows/danger-pr.yml` workflow
- Deletes `private/react-native-bots/dangerfile.js`
- Removes `danger` npm dependency from `react-native-bots/package.json`
The functionality previously provided by Danger.js is now handled by:
- **API diff detection**: `diff-js-api-changes` action
- **PR body validation**: `validatePRBody.js` script (summary, test plan, changelog checks)
- **Branch targeting**: `checkBranchTarget.js` script (validates target branch, adds "Pick Request" label)
- **PR commenting**: `post-pr-comment` action
This simplifies the CI pipeline by removing the third-party Danger dependency and consolidating PR annotation logic into maintainable GitHub Actions workflows.
Changelog: [Internal]
Reviewed By: huntie
Differential Revision: D91695886
fbshipit-source-id: c88001ef75d16c4709c7972add141db0df3b5a30
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/55383
Adds a branch targeting validation that replaces the equivalent Danger.js check.
The check validates that PRs target either `main` or a `-stable` branch, and
automatically adds the "Pick Request" label when targeting stable branches.
- Created `checkBranchTarget.js` - pure function returning validation message
- Added check step to `annotate-pr.yml` that calls the JS and adds labels
- Added `issues: write` permission for label functionality
Changelog: [Internal]
Reviewed By: huntie
Differential Revision: D91685081
fbshipit-source-id: 87e7124f7d825b51cb791dc94720c487ff95d414
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/55382
This adds a `validatePRBody.js` script that checks pull request descriptions for required sections as part of a new `analyze-pr.yml` workflow that will replace part of the Danger-pr workflow.
The validation includes:
- **Description length check**: Fails if the PR body is missing or less than 50 characters
- **Summary section check**: Warns if the PR lacks a "## Summary" section
- **Test plan check**: Warns if the PR lacks a "## Test Plan" section
- **Changelog validation**: failing if missing or invalid
Key behaviors:
- Phabricator-sourced PRs (detected via "Differential Revision:" in body) skip summary, test plan, and changelog validation since these are enforced differently
- Validation messages use GitHub's `[!WARNING]` and `[!CAUTION]` callout syntax for clear visual feedback
- The workflow fails (via `core.setFailed`) when any required check fails
- Messages are passed to `postPRComment` alongside API changes for consolidated PR comments
This aims to mimic relevant parts of dangerfile.js
Changelog: [Internal]
Reviewed By: huntie
Differential Revision: D91158803
fbshipit-source-id: 2304251d18f9fc8bf9a29e536fff2d979573bd86
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/55341
Changelog:
[INTERNAL] [CHANGED] - Add api-changes.yml workflow to replace danger-pr for detecting changes in the js api
The workflow:
- Triggers on `pull_request_target` for opened, edited, reopened, and synchronize events
- Checks out the main branch (for security, using trusted code)
- Runs the `diff-js-api-changes` action to detect API changes
- Posts a PR comment using the generic `post-pr-comment` action
The PR comment script creates, updates, or deletes a bot comment based on whether
there are any sections to report, using a marker to identify existing bot comments.
Reviewed By: huntie
Differential Revision: D90991845
fbshipit-source-id: 753475a7c24df8bc581b2ab47bfad1f5551c823c
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/55429
Completes this stack of diffs focused around the organisation and efficiency of the `test-all` GitHub Actions workflow.
**Changed**
All root jobs (excluding `lint`), when running against a PR, now depend on the initial `check_code_changes` job. This matches any non-Markdown, non docs change — meaning trivial PRs such as changelog updates should now avoid unnecessarily running the expensive parts of this workflow.
IMPORTANT: This is a significant change at the root of the workflow that contributes to our prebuilts/release infra — please review carefully.
**The new `any_code_change` filter**
Extremely defensive:
- Matches `'!**/__docs__/**', '!**/*.md'` only.
- Also **always** sets `any_code_change` to true if on `main`, a release branch, or on a workflow dispatch (`github.event_name != 'pull_request'`).
Changelog: [Internal]
Reviewed By: cortinico
Differential Revision: D92417918
fbshipit-source-id: ca5bc41a3c11569b8f69062ab66eeeab89d30089
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/55428
With a lighter weight `lint` job, make this blocking for `test_js` runs. The combined `lint` + `test_js` execution time in series remains far less than the native build+test jobs.
Changelog: [Internal]
Reviewed By: cortinico
Differential Revision: D92417805
fbshipit-source-id: 05832257518c8141ca0955f18e740f752e675d4d
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/55427
Following previous diffs, this now promotes the `lint` action to direct job steps.
**Motivation**
This has the advantage of making sub-steps in the GitHub UI visible, rather than running the 7 lint steps under a single banner.
I feel this is justified in the case of `lint`, although increasing the size of `.github/workflowsl/test-all.yml` slightly, because:
- Each step in this job is a distinct tool run with differing output, rather than one logical "action" — and this grouped output is therefore useful to the user.
- Lint failures are reasonably frequent for users, emphasising the above.
Changelog: [Internal]
Reviewed By: cortinico
Differential Revision: D92417807
fbshipit-source-id: ed24cfa2e581a528e80faec4128d280926f56613
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/55425
See blame — this script lints for a `"PATENTS"` string inside any Git changes, which should not occur any more.
> D7119356 (8 years ago)
>
> [react-native][PR] Check PATENTS does not creep into files
>
> Summary:
> Some files have crept into the repo with the old license header. These are usually from PRs that were opened prior to the re-licensing of the project.
Changelog: [Internal]
Reviewed By: cortinico
Differential Revision: D92417808
fbshipit-source-id: 36e3507f835fe5df99644eb1a47cdc60fa68f88c
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/55421
Deletes the largely unused `analyze_code`/`code-analysis-bot` script, which was part of our earlier CircleCI infra.
**Motivation**
- **Security**: Removes another use of a `GITHUB_TOKEN` env var being loaded into a script in our CI (similar to S603729).
- **Cleanup**: This script attempted to read various lint job results (including google-java-format, which is no longer present), and post a GitHub PR comment for >5 issues. In a GitHub Actions world, we don't really need this functionality.
**Other changes**
- The `yarn shellcheck` run from this script was load bearing, and is moved directly into the `lint` action.
Changelog: [Internal]
Reviewed By: cipolleschi
Differential Revision: D92407627
fbshipit-source-id: ef5664a273ad4aac721dbb53de73f2b96b47d75b
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/55416
Adds a `build_debugger_shell` job as part of the `test-all` workflow, adding missing coverage to `scripts/debugger-shell/build-binary.js`. This was broken recently by https://github.com/facebook/react-native/pull/54857.
Changelog: [Internal]
Reviewed By: cipolleschi
Differential Revision: D92396626
fbshipit-source-id: dda9427a936c46ec74821c10a8578c8a299890e9
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/55420
After https://github.com/facebook/react-native/pull/54857 (use of the "publishConfig" field), this check is no longer necessary, since `yarn build` will no longer make changes to any checked in files.
In the (expectedly) rare case that `yarn build --prepack` changes are committed (only intended for CI), Flow will also fail independently.
Changelog: [Internal]
Reviewed By: cipolleschi
Differential Revision: D92397786
fbshipit-source-id: 872cc91b62295cdb6d8c2799cffb8a4cadc4106e
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/55245
Changelog: [INTERNAL] [FIXED] - Fix diff-js-api-changes workflow to correctly compare PR head vs merge base
The `diff-js-api-changes` action was comparing main to main instead of comparing the PR head to the point of main it branched from.
The workflow now:
1. Checks out main in `danger-pr.yml` to get the trusted scripts
2. Fetches the PR head commit and computes the merge base (the point it branched from main)
3. Extracts the API snapshots from both refs using `git show` to read-only temp files
4. Runs main's diff script to compare the two snapshots
**Security notes:**
- `git fetch` only downloads git objects, it does not modify the working directory
- `git show <sha>:path` extracts a file as read-only data, not executable code
- All executed scripts come from main (trusted), PR content is only used as data
- The PR's `.d.ts` file is written to a temp directory and passed as input to main's diff script
Reviewed By: huntie
Differential Revision: D90978905
fbshipit-source-id: fc9b420a27c84f1812b436f41d3169fad4f91291
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/55232
Changelog: [Internal]
As suggested by cipolleschi, this is a more stable solution given that the workflow has been consistently failing for the past couple of RCs.
Reviewed By: cipolleschi
Differential Revision: D90992194
fbshipit-source-id: 7586a4bf141a875b2d780d1a359e79fc42c9ffda
Summary:
Fixes a typo on the step name of `maestro-ios` gh action:
From `Set up JDK 11` -? `Set up JDK 17`
to match the actual version and be in sync with the rest of the other actions (e.g. maestro-android)
## Changelog:
<!-- Help reviewers and the release process by writing your own changelog entry.
Pick one each for the category and type tags:
[GENERAL] [FIXED] - typo on maestro ios gh action for jdk step
For more details, see:
https://reactnative.dev/contributing/changelogs-in-pull-requests
Pull Request resolved: https://github.com/facebook/react-native/pull/55167
Test Plan: No testing required
Reviewed By: cipolleschi
Differential Revision: D90688156
Pulled By: cortinico
fbshipit-source-id: d2f4ff27bd6cee18c5931ff81df5f965ddf6d01b
Summary:
Now that we are using prebuilds by default in the release, we should also use prebuilds when running the E2E tests of the template app
## Changelog:
[Internal] -
Pull Request resolved: https://github.com/facebook/react-native/pull/55156
Test Plan: GHA
Reviewed By: cortinico
Differential Revision: D90673567
Pulled By: cipolleschi
fbshipit-source-id: d99c8f89f0c8737a7cb00eba654037997e661b95
Summary:
When setting up Xcode, we also download the SDKs that is needed.
There might be cases where we can save money and time and skip the download
## Changelog:
[Internal] -
Pull Request resolved: https://github.com/facebook/react-native/pull/55147
Test Plan: GHA
Reviewed By: javache
Differential Revision: D90594740
Pulled By: cipolleschi
fbshipit-source-id: 2923d891d626dfbb8446641d37b4b3f896c1daf2
Summary:
This change makes Hermes V1 the default engine for React Native for both platforms. This change needs to land before the branch cut of react native 0.84
bypass-github-export-checks
## Changelog:
[iOS][Changed] - Make Hermes V1 the default engine for iOS
Pull Request resolved: https://github.com/facebook/react-native/pull/54989
Test Plan:
1. Run `bundle exec pod install` and verified that Hermes V1 is used when building from source
<img height="480" alt="Simulator Screenshot - iPhone 17 Pro - 2025-12-29 at 11 28 44" src="https://github.com/user-attachments/assets/0889f16c-f2ee-4a0e-9a4d-529dd82c8283" />
2. Run `prebuild-ios -s` and verified that the scripts downloads the Hermes V1 tarball
<img width="831" height="324" alt="Screenshot 2025-12-29 at 10 37 53" src="https://github.com/user-attachments/assets/9a60565e-1e13-4967-a4a4-dd079e6b040f" />
3. GHA and nightlies
Reviewed By: vzaidman, cortinico, huntie
Differential Revision: D89881943
Pulled By: cipolleschi
fbshipit-source-id: 958b6d31bd4230ba4a5c7fee2bffc19e03dcbc89
Summary:
This is a pick of 4cac35f7d0 inside `main`.
The commit is already on the `0.84-stable` branch.
The reasoning here is that `cat` + `jq` failed to run with:
```
Run echo "rn-version=$(cat packages/react-native/package.json | jq -r 'version')" >> $GITHUB_OUTPUT
echo "rn-version=$(cat packages/react-native/package.json | jq -r 'version')" >> $GITHUB_OUTPUT
shell: bash --noprofile --norc -e -o pipefail {0}
jq: error: version/0 is not defined at <top-level>, line 1:
version
jq: 1 compile error
```
I'm moving to a single `jq` invocation as it's more resilient.
## Changelog:
[INTERNAL] -
Pull Request resolved: https://github.com/facebook/react-native/pull/55057
Test Plan: N/A
Reviewed By: fabriziocucci, alanleedev
Differential Revision: D90189240
Pulled By: cortinico
fbshipit-source-id: 9b1cd6ad6d37913f8a468892cedce5f808c8c33e
Summary:
This is a cherry-pick of dc90b0b7f3 on main from 0.83 and 0.84
## Changelog:
[INTERNAL] -
Pull Request resolved: https://github.com/facebook/react-native/pull/55054
Test Plan: CI
Reviewed By: cipolleschi
Differential Revision: D90174387
Pulled By: cortinico
fbshipit-source-id: 74b0ec3b853f2654ce140b9af27f13fe22c81f4a
Summary:
Fantom tests are a bit flaky, so we are rerunning them in case they fails.
## Changelog:
[Internal] -
Pull Request resolved: https://github.com/facebook/react-native/pull/55053
Test Plan: GHA
Reviewed By: cortinico
Differential Revision: D90174181
Pulled By: cipolleschi
fbshipit-source-id: 131d6fb68a9a53eaef5b36c0f0fe9adf989219b3
Summary:
In my prs, Im seeing the validate-dotslash-artifacts job fail with the error:
```
error react-native@1000.0.0: The engine "node" is incompatible with this module. Expected version ">= 22.11.0". Got "20.19.6"
error Found incompatible module.
```
This change should fix the job by setting up a compatible version of Node
## Changelog:
[Internal] -
Pull Request resolved: https://github.com/facebook/react-native/pull/55049
Test Plan: GHA
Reviewed By: cortinico
Differential Revision: D90168396
Pulled By: cipolleschi
fbshipit-source-id: 8d81f37a62ca13d5e868869b488eec4ea36d17c7
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/55047
Changelog: [Internal]
Fixed typos found through comprehensive recursive scan of the react-native-github directory.
**Fixed typos:**
1. "accomodate" → "accommodate" in CHANGELOG-0.6x.md
2. "occured" → "occurred" in LaunchUtils.js
3. "compatability" → "compatibility" in 7 Renderer files
4. "recieved" → "received" in PointerEvent test files (6 instances)
5. "seperated" → "separated" in ImageExample.js
**Total: 16 typo instances fixed across 10 files**
All typos were found by scanning ~3000 text files (excluding dist/third-party/node_modules) using pattern matching for common misspellings.
Reviewed By: javache
Differential Revision: D89799362
fbshipit-source-id: 73e9123dc0bae3c1ce8e374f4752404ab7345347
Summary:
While running `yarn spellcheck` I have spotted that scripts located in `/vendor` directory are checked, which lead to a lot of warnings in the output.
This PR adds an exclusion for the `/vendor` path in the spellcheck script which leads to way smaller warnings set and saves ~10s of runtime on my machine.
## Changelog:
[INTERNAL] [FIXED] - Add `/vendor` to excluded paths for spellcheck script.
Pull Request resolved: https://github.com/facebook/react-native/pull/55020
Test Plan: Running `yarn spellcheck` locally.
Reviewed By: cipolleschi
Differential Revision: D90104078
Pulled By: cortinico
fbshipit-source-id: 9c16a71616a13db1c217b917a498ff8f6a462799
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/54865
Removes introduced in D88654826, replaced with a `git fetch` with `--depth`.
This should fix CI runs on `main` (where we believe the extra checkout is clobbering the `yarn-install` step), and improve execution time.
Also shorten action name.
Changelog: [Internal]
Reviewed By: cipolleschi
Differential Revision: D89044330
fbshipit-source-id: 690eb5c7db9490e5f160e933d64eae6ac21464c8
Summary:
Updates the `diff-js-api-breaking-changes` action to compare the PR's changes against the merge base (where the branch diverged from main) instead of the current tip of main.
### Problem
The previous implementation compared the current state of `main` to the PR head. This could produce false positive results when main had new commits to reactNativeApi.d.ts reporting breaking changes from main as if they were introduced by the PR.
### Solution
- Calculate the merge base between the PR head and `origin/main`
- Compare the API snapshot at the merge base to the snapshot at the PR head
## Changelog:
[GENERAL] [FIXED] - Updates the `diff-js-api-breaking-changes` action to compare the PR's changes against the merge base (where the branch diverged from main) instead of the current tip of main.
Pull Request resolved: https://github.com/facebook/react-native/pull/54819
Test Plan:
(outputs shown for https://github.com/facebook/react-native/pull/54815)
Tested locally on branch that previously got false positive:
Mirror old approach:
```
mkdir -p /tmp/api-diff-old
git show origin/main:packages/react-native/ReactNativeApi.d.ts > /tmp/api-diff-old/before.d.ts
git show HEAD:packages/react-native/ReactNativeApi.d.ts > /tmp/api-diff-old/after.d.ts
node ./scripts/js-api/diff-api-snapshot /tmp/api-diff-old/before.d.ts /tmp/api-diff-old/after.d.ts
```
output:
```
{
"result": "BREAKING",
"changedApis": [
"ActivityIndicatorProps",
"Animated",
"DrawerLayoutAndroidProps",
"FlatList",
"FlatListProps",
"ImageBackground",
"ImageBackgroundProps",
"ImageProps",
"ImagePropsBase",
"KeyDownEvent",
"KeyEvent",
"KeyUpEvent",
"KeyboardAvoidingView",
"KeyboardAvoidingViewProps",
"ModalProps",
"PressableProps",
"ProgressBarAndroidProps",
"RefreshControl",
"RefreshControlProps",
"ScrollViewProps",
"SectionList",
"SectionListProps",
"SwitchProps",
"TextInputProps",
"ViewProps",
"VirtualizedListProps",
"VirtualizedSectionListProps"
]
}
```
Mirror new approach:
```
git fetch origin main
MERGE_BASE=$(git merge-base HEAD origin/main)
echo "Merge base: $MERGE_BASE"
mkdir -p /tmp/api-diff
git show $MERGE_BASE:packages/react-native/ReactNativeApi.d.ts > /tmp/api-diff/before.d.ts
git show HEAD:packages/react-native/ReactNativeApi.d.ts > /tmp/api-diff/after.d.ts
node ./scripts/js-api/diff-api-snapshot /tmp/api-diff/before.d.ts /tmp/api-diff/after.d.ts
```
output:
```
{
"result": "NON_BREAKING",
"changedApis": []
}
```
Reviewed By: huntie
Differential Revision: D88654826
Pulled By: emily8rown
fbshipit-source-id: 5dc2e295d7d527899b5cb6a643c4878aeebf7f0b
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/54634
CI fails after attempting to update to Node v24 (latest LTS) because our `dev-middleware` dev-only dependency `selfsigned` uses a default key size incompatible with the version of OpenSSL in Node>=24.5. We see lots of:
```
error:0A00018F:SSL routines::ee key too small
```
This was mitigated in OSS CI by pinning our Node tests to before v24.5: https://github.com/facebook/react-native/pull/53013
This default is raised upstream in bf687c80cf , this bumps to v4 which includes that fix, and removes the temporary mitigation above.
Changelog:
[Internal]
Reviewed By: cipolleschi
Differential Revision: D87643898
fbshipit-source-id: f1072c0801769d5fcd4bb53f68999653c6dad29f
Summary:
Adds a new action that will run every day after the nightly build is published. This action will set up a blank app from the template, enable Hermes V1, and run a simple E2E test on Android and iOS in both Debug and Release configurations.
## Changelog:
[INTERNAL] [ADDED] - Added basic E2E tests for Hermes V1
Pull Request resolved: https://github.com/facebook/react-native/pull/54576
Test Plan: I haven't tested the changes since they require larger action runners, but the changes are additive and don't impact existing infra (besides adding an optional parameter).
Reviewed By: cortinico
Differential Revision: D87331639
Pulled By: j-piasecki
fbshipit-source-id: 8d26cb7df66f2588b49f86f01ff0b623501e7f2b
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/54567
This change fix a syntax error in the create-draft-release workflow. We were basically passing the Hermes and HermesV1 versions without wrapping them in `'`.
JS was interpreting them as numbers and making a mess of the syntax.
Wrapping them in `'` should fix the job.
The commit was already picked in the release branch.
## Changelog:
[Internal] -
Reviewed By: cortinico
Differential Revision: D87244325
fbshipit-source-id: b115c233779b36a1b6b0462eb0a8ef60ceafce7c
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/54557
When running a release, we are observing failures due to the Meta CLA check failings for commits pushed by our own CI.
The secrets are inherited by the jobs, but we observed that the repository is not checked out with the right token.
This change should fix that.
## Changelog:
[Internal] -
Reviewed By: cortinico
Differential Revision: D87218058
fbshipit-source-id: 8955719ab26e568215f64841fd8d9526c4837f8f