Commit Graph

319 Commits

Author SHA1 Message Date
Riccardo Cipolleschi
b32335c299 Only build ios in check nightlies (#47506)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/47506

The Check nightlies job prepare a new nightly app with additional libraries and on iOS it builds with `yarn ios`.

The command tries to launch the app on the simulator which sometimes fails and this can make the jobs keep running for hours.

This change make sure that we only build the app

## Changelog:
[Internal] - Only build iOS in CI for Check Nightlies

Reviewed By: blakef

Differential Revision: D65656812

fbshipit-source-id: 14db3738f33f8024c9e99fe206b170209154bac7
2024-11-08 04:28:32 -08:00
Riccardo Cipolleschi
9e399d940a Remove XCBeautify from CI (#47482)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/47482

XCBeautify swallow some errors, especially all the linker errors when some symbol is not defined. The full error is not available in the raw log either.

This makes much harder to debug those issues when they happen.

We can remove xcbeautify for the time being, while we find a better solution.

## Changelog
[Internal] - Remove XCBeautify from ci

Reviewed By: dmytrorykun

Differential Revision: D65596745

fbshipit-source-id: 0550d4cbeadc5bec8acc61b5edc1320d3445bcaf
2024-11-07 04:57:49 -08:00
Nicola Corti
a3ab7895c9 Add missing \n on actOnLabel.js (#47451)
Summary:
I forgot to add some `\n` in the bot messages. This fixes it.

## Changelog:

[INTERNAL] - Add missing `\n` on actOnLabel.js

Pull Request resolved: https://github.com/facebook/react-native/pull/47451

Test Plan: N/A

Reviewed By: cipolleschi

Differential Revision: D65533495

Pulled By: cortinico

fbshipit-source-id: c2214d00800f6b70ec331a9ae72578414f50cd43
2024-11-06 08:54:10 -08:00
Riccardo Cipolleschi
d352a9979d Add checkout step to check nightly (#47448)
Summary:
In order to use a reusable workflow in GHA, we need first to checkout the repository so the action has access to the other workflows.

## Changelog:
[Internal] - Add checkout step to Check Nightlies

Pull Request resolved: https://github.com/facebook/react-native/pull/47448

Test Plan: GHA - https://github.com/facebook/react-native/actions/runs/11702038686?pr=47448

Reviewed By: cortinico

Differential Revision: D65532274

Pulled By: cipolleschi

fbshipit-source-id: 58117ac81973e3c07829d73d5bde4e6fd4d212f9
2024-11-06 04:07:13 -08:00
Riccardo Cipolleschi
f94ca27986 Add job to test libraries on nightlies (#47409)
Summary:
We want to test libraries against React Native nightlies to check when we introduce breakig change

## Changelog:
[Internal] - Add CI tests for libraries

Pull Request resolved: https://github.com/facebook/react-native/pull/47409

Test Plan: GHA - https://github.com/facebook/react-native/actions/runs/11700016815/job/32583153239?pr=47409

Reviewed By: cortinico

Differential Revision: D65530787

Pulled By: cipolleschi

fbshipit-source-id: ef4d13c30995f119715ef4f12ea51eaa65152518
2024-11-06 02:32:16 -08:00
Nicola Corti
c4f58d2452 Update messages for @react-native-bot (#47428)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/47428

This changes the messages that the bot is printing.
I've moved from using a table to using GitHub's admonitions that
renders nicely are are more informative.

Changelog:
[Internal] [Changed] - Update messages for react-native-bot

Reviewed By: mdvacca

Differential Revision: D65485633

fbshipit-source-id: f43f7bd75280bfd0aceab48b2517306c1057b778
2024-11-05 14:33:29 -08:00
Nicola Corti
d2a91617da Prevent @react-native-bot from double posting on missing reproducer (#47427)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/47427

I've noticed that react-native-bot posts twice once we can't find a reproducer.
(see here: https://github.com/facebook/react-native/issues/47421)

This fixes it by letting it post only once.

Changelog:
[Internal] [Changed] - Prevent react-native-bot from double posting on missing reproducer

Reviewed By: mdvacca

Differential Revision: D65485634

fbshipit-source-id: dbe9b1311aef246dead6d9b922c1256363e894f7
2024-11-05 14:33:29 -08:00
Nicola Corti
83d38501b8 setup-gradle v4 + Remove unnecessary Gradle Wrapper Validation (#47389)
Summary:
As per: https://github.com/gradle/actions#the-wrapper-validation-action

> Starting with v4 the setup-gradle action will [perform wrapper validation](https://github.com/gradle/actions/blob/main/docs/setup-gradle.md#gradle-wrapper-validation) on each execution. If you are using setup-gradle in your workflows, it is unlikely that you will need to use the wrapper-validation action.

I'm moving to setup-gradle v4 and remove this unnecessary extra action.

## Changelog:

[INTERNAL] - setup-gradle v4 + Remove unnecessary Gradle Wrapper Validation

Pull Request resolved: https://github.com/facebook/react-native/pull/47389

Test Plan: CI

Reviewed By: blakef

Differential Revision: D65435069

Pulled By: cortinico

fbshipit-source-id: c28b4d520e91fea9c59a341fb94598db5fc69900
2024-11-05 03:19:06 -08:00
Blake Friedman
4c0cd72208 Fix typo in template action watcher script (#47286)
Summary:
Trivial typo - static analysis would have been a good thing.

Changelog: [Internal]

Pull Request resolved: https://github.com/facebook/react-native/pull/47286

Test Plan: eyes

Reviewed By: NickGerleman

Differential Revision: D65145600

Pulled By: blakef

fbshipit-source-id: 567ef3637441aa84651dce03f45b80068c5f4290
2024-10-29 10:06:17 -07:00
Riccardo Cipolleschi
e4e68db2bc Backport to main fixes in publishing the template (#47250)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/47250

This commit backports to main [#47116](https://github.com/facebook/react-native/pull/47116)

## Changelog
[Internal] - Backport fix to publishTemplate from 0.76 to main

Reviewed By: blakef

Differential Revision: D65066047

fbshipit-source-id: 2c8fcca8ea7b75495aa5ad1bd4e3f53379cb3246
2024-10-28 09:58:38 -07:00
Blake Friedman
cf8250a79f verify template is published method (#47243)
Summary:
This step called an old reference, this function identifier was updated.

Changelog: [Internal]

Pull Request resolved: https://github.com/facebook/react-native/pull/47243

Reviewed By: cipolleschi

Differential Revision: D65063054

Pulled By: blakef

fbshipit-source-id: 640a4c501818c9b83cebb27c89ba6efd82800be8
2024-10-28 08:15:35 -07:00
Riccardo Cipolleschi
f1d2331dfb We use the right filename as hash in CI cache key (#47087)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/47087

In the repo, we don't have a `build-apple-framewroks.sh` file, but we do have a `build-apple-framewrok.sh` file, with no ending `s`

## Changelog:
[Internal] - Fix CI cache key

Reviewed By: cortinico

Differential Revision: D64531456

fbshipit-source-id: 05c104390b875eeef2cf15f8a30c8672cfc9b61d
2024-10-17 07:47:51 -07:00
Douglas Lowder
bb8992c760 fix: Add missing tvOS steps to build-hermes-macos GH action (#47073)
Summary:
After examining Hermes artifacts built after merging of https://github.com/facebook/react-native/issues/46865 , it was apparent that tvOS frameworks were missing from the Hermes universal framework generated by CI.

I went back and discovered additional steps that need to be added to the `build-hermes-macos` action to make CI work correctly.

## Changelog:

[Internal][Fixed] add required steps to build tvOS in build-hermes-macos action

Pull Request resolved: https://github.com/facebook/react-native/pull/47073

Test Plan: After merging, Hermes artifacts generated by CI should contain the missing tvOS bits.

Reviewed By: rshest

Differential Revision: D64528911

Pulled By: cipolleschi

fbshipit-source-id: 61db3e154767830a4726d7ceeec229a4af30d247
2024-10-17 02:22:02 -07:00
Douglas Lowder
f673759c83 feat: Add tvOS support to Hermes artifacts (#46865)
Summary:
Adds tvOS to the list of Apple platforms supported by the Hermes artifacts. After this, the React Native TV builds will be able to use the same Hermes artifacts as those used by RN core.

~Added some code in `hermes-utils.rb` so that the Hermes podspec can use a local Maven repo (`/tmp/maven-local`).~

> *Note:* ~This PR should not be merged until the corresponding Hermes PR https://github.com/facebook/hermes/pull/1529 is merged.~ (https://github.com/facebook/hermes/pull/1529 has been merged)

## Changelog:

[iOS][Added] tvOS support for Hermes artifacts

Pull Request resolved: https://github.com/facebook/react-native/pull/46865

Test Plan: - tvOS is also added to the build and test GitHub workflows.

Reviewed By: rshest

Differential Revision: D64461324

Pulled By: cipolleschi

fbshipit-source-id: d63889c60c72519818e7076cd0ab5851791715a1
2024-10-16 03:39:58 -07:00
Riccardo Cipolleschi
40bcf0edba Do not kill emulators when testing (#47030)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/47030

Looking at the videos from the E2E tests, it seems that the tests are pretty reliable aside from the first one that often fail. And it looks like it is failing not because the test is wrong, but because maestro hits some sort of timeout and kills the test sooner.

With these changes we are:
- giving more time to maestro to run
- not killing the emulator anymore

Killing and restarting the simulator was making this problem workse, because a newly started simulator required more time to boots and to work properly

## Changelog:
[Internal] - stop killing simulators and increase timeouts

Reviewed By: cortinico

Differential Revision: D64398111

fbshipit-source-id: 17b107fee24d0fbd4897212c1907be3761e337ab
2024-10-15 08:32:37 -07:00
Riccardo Cipolleschi
ce5358866f Disable e2e on PR (#46974)
Summary:
Commit d4edbcffbf mistakingly enable iOS e2e on PRs
This change disable them again

## Changelog:
[Internal] - disable e2e in PRs

Pull Request resolved: https://github.com/facebook/react-native/pull/46974

Test Plan: GHA

Reviewed By: cortinico

Differential Revision: D64239005

Pulled By: cipolleschi

fbshipit-source-id: 5b3655d1f8ebb07fd552f656fee0e8e3f255301a
2024-10-11 06:40:40 -07:00
Riccardo Cipolleschi
d4edbcffbf Move E2E tests to larger machines to see if flakyness decreases (#46960)
Summary:
This change move E2E tests to larger mac machines to see if we can reduce the flakyness.
Most of the time the flakyness is due to slowness in connecting to the simulator or slowness in Metro to provide the bundle to RNTester when we run the tests in Debug.
More power should speed-up those processes.

E2E tests took < 30 min in this diff
on Main, they took > 120 min

## Changelog:
[Internal] - Move the E2E tests to bigger machines

Pull Request resolved: https://github.com/facebook/react-native/pull/46960

Test Plan: GHA

Reviewed By: blakef

Differential Revision: D64237659

Pulled By: cipolleschi

fbshipit-source-id: c2458413c8de70c07fae8f2b5f202371c6293815
2024-10-11 05:10:10 -07:00
Blake Friedman
ffb10b5b4c Replace sh scripts with tested JS scripts to release template (#46363)
Summary:
The previous scripts to trigger the react-native-communty/template
release workflow has not been working. This is a rewrite is js, along
with some testing to make this more robust.

I've have a PR to combine the publish and tag steps in the template publication: https://github.com/react-native-community/template/pull/65, this takes advantage of that change.

Changelog: [Internal]

Pull Request resolved: https://github.com/facebook/react-native/pull/46363

Test Plan:
1. Unit tests
2. Once the infrastructure lands in the `react-native-community/template` workflow, we can trigger a dry run.

## TODO:
- ~~Still needs to be used in the GH release workflow.~~
- ~~Template release workflow needs to land the dry_run input change.~~

## Changelog: [Internal]

Reviewed By: cipolleschi

Differential Revision: D62296008

Pulled By: blakef

fbshipit-source-id: 217326c44b1d820e36a1d847cf9ad24d228087c1
2024-10-01 11:03:36 -07:00
Riccardo Cipolleschi
94b7793843 Run Maestro tests also in debug mode (#46573)
Summary:
This change runs Maestro tests also in Debug mode, by starting Metro in background.

## Changelog:
[Internal] - Add E2E tests in Debug mode too

Pull Request resolved: https://github.com/facebook/react-native/pull/46573

Test Plan:
GHA must be green.
Successful run: https://github.com/facebook/react-native/actions/runs/11033322135?pr=46573

Reviewed By: cortinico

Differential Revision: D63452169

Pulled By: cipolleschi

fbshipit-source-id: e04b87f6a3e7aca8519dc2cb37c982dff3c20100
2024-09-26 06:01:28 -07:00
Riccardo Cipolleschi
038e6eda6d Fix the trigger e2e on comment workflow (#46653)
Summary:
This change fixes the workflow by using the right URL. I also added some logging for debugging.

## Changelog:
[Internal] - Fix Trigger E2E tests workflow

Pull Request resolved: https://github.com/facebook/react-native/pull/46653

Test Plan: Tested the script locally and verified that it triggers the workflow.

Reviewed By: cortinico

Differential Revision: D63452098

Pulled By: cipolleschi

fbshipit-source-id: f44956071edb68046ed1cb74e286e8edbe0eb23a
2024-09-26 03:49:09 -07:00
Riccardo Cipolleschi
6d51c5cd8e Setup homebrew in ubuntu machine (#46575)
Summary:
This change setups homebrew on Ubuntu. Due to https://github.com/actions/runner-images/issues/6283, brew is not in the PATH anymore.

## Changelog:
[Internal] - Setup homebrew in ubuntu machine

Pull Request resolved: https://github.com/facebook/react-native/pull/46575

Test Plan: Can't test before it lands. :(

Reviewed By: cortinico

Differential Revision: D63027253

Pulled By: cipolleschi

fbshipit-source-id: e0b3a3c1a2a7b0659f0c1f57c45d8d42a74734a1
2024-09-19 07:19:00 -07:00
Riccardo Cipolleschi
0d2248557b Configure E2E test to run on comments (#46572)
Summary:
This change configure the Test All job to enable the E2E tests with an input parameter.
Then it adds another workflow that is triggered on PRs when someone posts the "/test-e2e" comment.

## Changelog:
[Internal] - Let users run E2E tests on a specific PR comment

Pull Request resolved: https://github.com/facebook/react-native/pull/46572

Test Plan: This kind of things can only be tested once the PR lands, as workflows that are triggered by comments runs only from the main branch.

Reviewed By: cortinico

Differential Revision: D63021786

Pulled By: cipolleschi

fbshipit-source-id: 95b271f6de658ca208c773429fedef2a36417752
2024-09-19 05:34:53 -07:00
Riccardo Cipolleschi
6d61899fc5 Fix analyze_code to use the proper PR number (#46548)
Summary:
Analyze code was still using the CIRCLECI env variable to retrieve the PR number.
This change uses the github one and also removes a duplicated flow check

## Changelog:
[Internal] - Remove duplicated flow check and use gh PR number rather than CircleCI one

Pull Request resolved: https://github.com/facebook/react-native/pull/46548

Test Plan: Tested locally and in CI

Reviewed By: NickGerleman

Differential Revision: D62883758

Pulled By: cipolleschi

fbshipit-source-id: 0c7e97ea9caf4465972424e0b69a899ecfd07095
2024-09-18 02:57:48 -07:00
Riccardo Cipolleschi
f529fe4876 Exclude dSYM from the archive (#46472)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46472

Currently, we are building the Debug symbols (dSYM) for hermes dSYM but we are not shipping them with the xcframework.
This is correct, because Debug symbols can increase the size of Hermes thus enalrging the iOS IPA and increasing the download time when installing pods.

We distribute the dSYM separatedly, in case users needs to symbolicate Hermes stack traces.

However the path to the dSYM still appears in the Info.plist of the universal XCFramework and this can cause issues when submitting an app to apple.

This change should remove those lines from the universal framework.

It fixes https://github.com/facebook/react-native/issues/35863

## Changelog
[Internal] - Remove dSYM path from Info.plist

Reviewed By: cortinico

Differential Revision: D62603425

fbshipit-source-id: 038ec3d6b056a3d6f5585c8125d0430f56f11bb9
2024-09-13 08:16:19 -07:00
Riccardo Cipolleschi
274f5bfe6c Disable concurrency on main (#46435)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46435

On main, we want to run CI as fast as possible to catch failures as soon as possible.
Currently, if two commits arrives on main (say commit A and commi B) CI will run on commit B only when it is finished on commit A.
Instead, we would like for CI to run in parallel.

## Changelog
[Internal] - Run CI in parallel on main

Reviewed By: cortinico

Differential Revision: D62496842

fbshipit-source-id: 03dc910deab42af98d92ea8e8e5b90049940dba1
2024-09-11 07:08:40 -07:00
Nicola Corti
1e07ac1d32 Add an issue template for React Native DevTools bug reports
Summary:
This introduces a new issue template for Debugger related issues.

bypass-github-export-checks

Changelog:
[Internal] [Changed] - Add an issue template for React Native DevTools bug reports

Reviewed By: cipolleschi, hoxyq

Differential Revision: D62440315

fbshipit-source-id: c7437d9787a910a2886df50171c86c9ed2412dd6
2024-09-11 04:14:56 -07:00
Riccardo Cipolleschi
d424c24432 Zip slices to preserve symlinks (#46387)
Summary:
When creating Hermes in CI, we build it for MacOS and Mac Catalyst as well.
The slices for these platforms requires symlinks to work properly.
The upload artifacts action on github, when applied to folders, follows the symlinks and copies the destination folder. The result is that Hermes for macOS and Catalyst does not work as expected.

This should fix https://github.com/facebook/react-native/issues/46213.

## Changelog:
[Internal] - Build Hermes in CI properly

Pull Request resolved: https://github.com/facebook/react-native/pull/46387

Test Plan: Tested already in 0.75

Reviewed By: robhogan

Differential Revision: D62355050

Pulled By: cipolleschi

fbshipit-source-id: 7abb85c8a2a88f13e06a49c6cb0caccbdad4551a
2024-09-08 06:27:48 -07:00
Oskar Kwaśniewski
9cc6f007ba chore(iOS): bump socket rocket to 0.7.1 (#46300)
Summary:
This PR bumps Socket Rocket to 0.7.1, this release brings some new improvements and visionOS support. I've also moved the version to a constant.

## Changelog:

[INTERNAL] [CHANGED] - Bump SocketRocket to 0.7.1

Pull Request resolved: https://github.com/facebook/react-native/pull/46300

Test Plan: CI Green

Reviewed By: cortinico, cipolleschi

Differential Revision: D62294833

Pulled By: blakef

fbshipit-source-id: 0e45c7de041710fb1f500b0ac23898b68a8a8936
2024-09-07 02:56:51 -07:00
Soe Lynn
b93c2b2412 Bump React Native CI to min iOS 15.1 (#46135)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46135

Changelog:
[iOS] - Bump iOS min version for CI

Reviewed By: cipolleschi

Differential Revision: D61604034

fbshipit-source-id: 5d2b0001b6437e62c64d821e36a4183096e8ef74
2024-08-21 12:11:58 -07:00
Riccardo Cipolleschi
9c16fb3394 Fetch Github tags in the publish-release job (#46131)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46131

React native 0.75.0, 0.75.1 and 0.75.2 has been published to NPM without the latest tag, despite the tag being on the commit.

When debugging why that's happened, I realized that we were not downloading the tags when checking out the repo.

This change fixes that.

{F1816667285}

## Changelog:
[Internal] - Publish React native as latest when the latest tag is specified on git

Reviewed By: cortinico

Differential Revision: D61593398

fbshipit-source-id: 96bf8346207f0bd0b01f60ee09879210d12d30af
2024-08-21 07:46:13 -07:00
Blake Friedman
15c9961c88 Fix publish template url for GHA action (#46040)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46040

The URL to dispatch the workflow was not correct, see [0].

## Changelog: [Internal]

[0] https://docs.github.com/en/rest/actions/workflows?apiVersion=2022-11-28#create-a-workflow-dispatch-event

## Internal:

For S441191, see the job launched:
- https://github.com/react-native-community/template/actions/runs/10404141179/job/28811993693

 {F1806960111}

Reviewed By: cipolleschi

Differential Revision: D61333084

fbshipit-source-id: 62b20d792b9c667b3ee80d6d446423a6d24a67c2
2024-08-15 07:27:45 -07:00
Riccardo Cipolleschi
b4a2a4e756 Backport Fixes for Create Release Workflow (#46034)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46034

The create release workflow was not working properly for 0.75:

* the latest tag was not pushed because we were using the wrong input
* the latest tag was not deleted because we were not fetching all the tags
* the create release job 'dry-run' defaults to false, which is a bit dangerous

This change is a backport from 0.75 to main of these changes.

## Changelog
[Internal] - Make sure that the Latest tag is properly pushed to github while releasing

Reviewed By: cortinico

Differential Revision: D61331247

fbshipit-source-id: 89bf0698c45ec6c766e25b11599dbe926d8a6297
2024-08-15 06:40:40 -07:00
Riccardo Cipolleschi
eb2d9852c7 Fix E2E tests on Template (#45974)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45974

This change fixes the E2E tests on the template on main.

There were two issues:
1. we were forcing the project on the 0.75 branch. We now use the current branch name
2. we were replacing all the versions for the dependencies that starts with `react-native` to the monorepo version. The problem is that also `react-native-community` packages starts with `react-native`. We now changes the versions if the dependency name starts with `react-native/`.

## Changelog:
[Internal] - Fix E2E tests on main

Reviewed By: cortinico

Differential Revision: D61122154

fbshipit-source-id: 07210fc9f63e99eac46894f13c7ca5359e186e6c
2024-08-13 05:05:56 -07:00
Oskar Kwaśniewski
58a8fa69b4 ci: add xcbeautify for xcodebuild actions (#45957)
Summary:
This PR adds `xcbeautify` for xcodebuild actions.

Installing `xcodebuild` is not required as its included in every macos runner image: https://github.com/actions/runner-images/blob/main/images/macos/macos-14-arm64-Readme.md#tools

## Changelog:

[INTERNAL] [ADDED] - add xcbeautify for xcodebuild actions

Pull Request resolved: https://github.com/facebook/react-native/pull/45957

Test Plan: CI Green

Reviewed By: cortinico

Differential Revision: D61012286

Pulled By: cipolleschi

fbshipit-source-id: d0ef3df18963c0ebfc1c856816a63b1cc0259ba5
2024-08-09 06:12:15 -07:00
Nicola Corti
ee25081d20 Fix typo in workflow name (#45956)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45956

Fix typo in workflow name

Changelog:
[Internal] [Changed] - Fix typo in workflow name

Reviewed By: cipolleschi

Differential Revision: D61007940

fbshipit-source-id: 62f8e15503ed1d9668c097e8a4c2c552a6458a83
2024-08-09 04:21:20 -07:00
Oskar Kwaśniewski
02e896989a ci: run cache-repear only on main repo (#45943)
Summary:
This PR fixes Cache repear
## Changelog:

<!-- Help reviewers and the release process by writing your own changelog entry.

[INTERNAL] [FIXED] - Cache repear job

Pull Request resolved: https://github.com/facebook/react-native/pull/45943

Test Plan: CI Green

Reviewed By: blakef

Differential Revision: D60962822

Pulled By: cortinico

fbshipit-source-id: 453153005bbc1b99dbe569eb6be77d17c8a176db
2024-08-08 09:40:06 -07:00
Oskar Kwaśniewski
b7221238aa ci: run cache-repear only on main repo (#45940)
Summary:
This PR enables the `cache-repear.yml` only for the main repository. This is running constantly on forks creating lots of notifications and it's mostly needed only for the main repo.

![CleanShot 2024-08-08 at 10 06 38@2x](https://github.com/user-attachments/assets/51f7e208-05c9-4a02-982d-d746a717dc69)

## Changelog:

[INTERNAL] [CHANGED] - Run `cache-repear.yml` only on main repo

Pull Request resolved: https://github.com/facebook/react-native/pull/45940

Test Plan: CI GREEN

Reviewed By: blakef

Differential Revision: D60957003

Pulled By: cortinico

fbshipit-source-id: 2f250d734688739a278095af8d860a54426604bf
2024-08-08 02:36:13 -07:00
Nicola Corti
2ca01b4d04 Revert "Remove unnecessary git config --global --add safe.directory" (#45929)
Summary:
This reverts commit 9d9a8d2df6.

## Changelog:

[INTERNAL] - This reverts commit 9d9a8d2df6.

Pull Request resolved: https://github.com/facebook/react-native/pull/45929

Test Plan: CI

Reviewed By: blakef

Differential Revision: D60901502

Pulled By: cortinico

fbshipit-source-id: 2b7a7908a29f031c1f229907aa899a8a6960da4b
2024-08-07 06:39:31 -07:00
Blake Friedman
28597168aa Fix failing Publish @react-native-community/template step (#45910)
Summary:
In build_npm_package, the publishing of the bumped template is [failing](https://github.com/facebook/react-native/actions/runs/10148492447/job/28063424722)
because it's running in sh instead of bash, but using bash syntax.

## Changelog: [Internal]

Pull Request resolved: https://github.com/facebook/react-native/pull/45910

Test Plan:
~~I'm unclear on how to test this, and the fix is very much speculative based on other having hit a similar issue.~~

I've had to stub some of the values that the action substitutes.

Reviewed By: cortinico

Differential Revision: D60828697

Pulled By: blakef

fbshipit-source-id: 0a8f909ae5219268f034e5ff0efb8acc94bdb7b1
2024-08-06 07:34:31 -07:00
Riccardo Cipolleschi
24e7f7d256 Try to restore caches for Hermes (#45908)
Summary:
We had CI on main failing consistently the past couple of days.
The problem is that the hermes pipeline is failing to create the iOS XCFramework with the error:
> unable to create a Mach-O from the binary at '/Users/runner/work/react-native/react-native/packages/react-native/sdks/hermes/destroot/Library/Frameworks/catalyst/hermes.framework/hermes'

The main cause is this upgrade of [upload-artifacts](https://github.com/actions/upload-artifact/issues/590) which breaks symlinks.

The solution is to bump the caches and downgrade the `upload-artifact` actions.
## Changelog:
[Internal] - Try to fix CI for Hermes

Pull Request resolved: https://github.com/facebook/react-native/pull/45908

Test Plan: GHA must be green

Reviewed By: cortinico

Differential Revision: D60828616

Pulled By: cipolleschi

fbshipit-source-id: 6976b86dd67e2fd9d806ebaa62f47e39dc44b30d
2024-08-06 06:41:35 -07:00
Riccardo Cipolleschi
c7d238da13 Do not cancel jobs on main when new commits are pushed
Summary:
Last month, during the migration to GHA, we decided to reimplement the same behavior we had in CCI: when a new commit comes in, we stop executing tests on the previous one.

This behavior is great to save money, but on main it has the side effect that it makes it hard to detect when the ci was broken.

\With this change, we want to disable this behvior on main while keeping it in PRs.

After this change, when a new commit arrives on main, the previous jobs will not be interrupted

## Changelog
[Internal] - Do not cancel jobs on main when new commits are pushed.

Reviewed By: cortinico, blakef

Differential Revision: D60822657

fbshipit-source-id: 38561438f2e2850a94220d732cd73a09d04e8b81
2024-08-06 06:37:58 -07:00
Riccardo Cipolleschi
e92ae77204 Disable E2E Template tests on main
Summary:
With the React revert from 19 to 18.3.1 of 0.75 the template is not compatible with main anymore.

As a quick solution, we are disabling the e2e tests running on main.

## Changelog
[Internal] - disable  E2E template tests

Reviewed By: cortinico

Differential Revision: D60387687

fbshipit-source-id: 74d4133477bcfdc8ba5909b46d9180ac372ec6bb
2024-07-29 08:10:34 -07:00
Riccardo Cipolleschi
3e3f9fc060 Pin maestro version
Summary:
The Maestro team just released a new version of maestro which dies in our CI

This change pins the version to something we know it's working, so we can decide when to move to the next version

## Changelog
[Internal] - Pin Maestro version

Reviewed By: cortinico

Differential Revision: D60380466

fbshipit-source-id: af842b7922736cc08300ac3bceef2d6110bcd913
2024-07-29 05:41:51 -07:00
Riccardo Cipolleschi
44d38c9d4d Run e2e tests only on main and on stable branches (#45706)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45706

## Context
Running manual tests when preparing a release, it's time consuming.
We have to do the cherry picks, wait for CI to finish, and then manually test 8 configurations.

Maestro is a tool that allow us to run E2E tests automatically, and we can wire it to CI.

## Change
To avoid flakyness and costs, let's run E2E tests only on main and on stable branches

Changelog:
[Internal] - Exploration to integrate maestro

Reviewed By: blakef

Differential Revision: D60283204

fbshipit-source-id: 806cb8905cb269f18785158dcc5777ef10e0ef44
2024-07-26 09:57:46 -07:00
Riccardo Cipolleschi
c595e3da74 Add job to run maestro tests using the Android template (#45710)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45710

## Context
Running manual tests when preparing a release, it's time consuming.
We have to do the cherry picks, wait for CI to finish, and then manually test 8 configurations.

Maestro is a tool that allow us to run E2E tests automatically, and we can wire it to CI.

## Change

Add job to create a new Android app from the template and run maestro test on it

Changelog:
[Internal] - Exploration to integrate maestro

Reviewed By: cortinico

Differential Revision: D60282836

fbshipit-source-id: 0c3b4c1bbacfd6c8695f987c86b7e615a3cef026
2024-07-26 09:57:46 -07:00
Riccardo Cipolleschi
806e5ffadc Add job to run maestro tests using the iOS template (#45703)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45703

## Context
Running manual tests when preparing a release, it's time consuming.
We have to do the cherry picks, wait for CI to finish, and then manually test 8 configurations.

Maestro is a tool that allow us to run E2E tests automatically, and we can wire it to CI.

## Change

Add job to create a new iOS app from the template and run maestro test on it

Changelog:
[Internal] - Exploration to integrate maestro

Reviewed By: blakef

Differential Revision: D60282811

fbshipit-source-id: 2a1dcb1de09795bd0323357455e98a7fa379a2e7
2024-07-26 09:57:46 -07:00
Riccardo Cipolleschi
4adc1e3b15 Connect Android RNTester to Maestro (#45709)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45709

## Context
Running manual tests when preparing a release, it's time consuming.
We have to do the cherry picks, wait for CI to finish, and then manually test 8 configurations.

Maestro is a tool that allow us to run E2E tests automatically, and we can wire it to CI.

## Change

Connect RNTester Android to Maestro action

Changelog:
[Internal] - Exploration to integrate maestro

Reviewed By: blakef

Differential Revision: D60282769

fbshipit-source-id: 2a20f1cb249fc5c43b0579c3309efd60369a1da6
2024-07-26 09:57:46 -07:00
Riccardo Cipolleschi
d2cbbb97c3 Add maestro android action (#45707)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45707

## Context
Running manual tests when preparing a release, it's time consuming.
We have to do the cherry picks, wait for CI to finish, and then manually test 8 configurations.

Maestro is a tool that allow us to run E2E tests automatically, and we can wire it to CI.

## Change

Create a github action to run Maestro on Android

Changelog:
[Internal] - Exploration to integrate maestro

Reviewed By: cortinico, blakef

Differential Revision: D60282719

fbshipit-source-id: 9544eea192894696361fada1e519caad35f74154
2024-07-26 09:57:46 -07:00
Riccardo Cipolleschi
b9764c0511 Connect maestro action to RNTester (#45705)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45705

## Context
Running manual tests when preparing a release, it's time consuming.
We have to do the cherry picks, wait for CI to finish, and then manually test 8 configurations.

Maestro is a tool that allow us to run E2E tests automatically, and we can wire it to CI.

## Change

Wire RNTester to the Maestro Action

Changelog:
[Internal] - Exploration to integrate maestro

Reviewed By: blakef

Differential Revision: D60282689

fbshipit-source-id: 51c624c2acf7a27ed5527e7453d9a04678df6c66
2024-07-26 09:57:46 -07:00
Riccardo Cipolleschi
151d4ea68c Create GHA action to run Maestro in CI (#45704)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45704

## Context
Running manual tests when preparing a release, it's time consuming.
We have to do the cherry picks, wait for CI to finish, and then manually test 8 configurations.

Maestro is a tool that allow us to run E2E tests automatically, and we can wire it to CI.

## Change
Create a reusable GHA to run Maestro tests on iOS

Changelog:
[Internal] - Exploration to integrate maestro

Reviewed By: blakef

Differential Revision: D60282657

fbshipit-source-id: 3a2a427f0954b46fc6c3a8bf753e807371eb0239
2024-07-26 09:57:46 -07:00