diff --git a/website/contributing/release-testing.md b/website/contributing/release-testing.md index fb01b4dc637..881223d3132 100644 --- a/website/contributing/release-testing.md +++ b/website/contributing/release-testing.md @@ -18,11 +18,12 @@ Currently, this flow can only be done on macOS machines. ::: +- One CircleCI personal API token - see [here](https://circleci.com/docs/managing-api-tokens#creating-a-personal-api-token) how to set one. - Have a clone of `react-native` repo and be on the release branch (`0.XX-stable`). ```bash # Checkout relevant branch - git checkout 0.66-stable + git checkout 0.72-stable # Optional: you might need a .watchmanconfig because `npm start` would fail without it. echo '{}' > .watchmanconfig @@ -74,8 +75,21 @@ Followed by the wanted options: -t, --target [choices: "RNTester", "RNTestProject"] [default: "RNTester"] -p, --platform [choices: "iOS", "Android"] [default: "iOS"] -h, --hermes [boolean] [default: true] + -c, --circleciToken [string] ``` +Using the `-c ` option is recommended, as the script will download the required artifacts from CircleCI, instead of having to build from source reducing the testing time. +There are a couple of extra requirements to make this flow work: +1. the CI must have run at least once in the current branch. We need to download artifacts generated by CircleCI, so we need to have at least one run of the CI. +2. The relevant jobs must have been finished. The required jobs depends on the task you are about to tests: + - if you are testing RNTester on iOS, it has to download Hermes for iOS. So the job that produces it must have finished successfully + - if you are testing RNTester on Android, it has to download the right APK (JSC or Hermes). So the job that produces the APKs must have finished successfully. + - if you are testing RNTestProject, it has to download the maven prebuilts and the Hermes engine for iOS. So the jobs that produce those artifacts must have finished successfully. + +Anyway, if any of those prerequisites is not met, the script should output a proper error message. + +If you need to build React Native from source, you can skip the `-c` parameter. By not passing the CircleCI token, the script falls back to the previous flow, building everything locally. + #### Versions older than 71 You need to use the interactive script run you through the different variants in [Test Dimensions](#test-dimensions):