Skip to content

Commit a2911ec

Browse files
authored
Remove <0.71 steps from Release Testing guide
1 parent b679ec3 commit a2911ec

1 file changed

Lines changed: 15 additions & 116 deletions

File tree

docs/guide-release-testing.md

Lines changed: 15 additions & 116 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,42 @@
11
# Release Testing
22

3-
Release testing is manual testing the release crew does to sanity check that our new releases build and run and don't regress core experiences.
4-
53
> [!Important]
64
> Make sure you have the right access/tokens set up. See [onboarding](./roles-and-responsibilities.md#onboarding-to-release-crew).
75
86
> [!Caution]
97
> Currently, this flow can only be done on macOS machines.
108
11-
> [!Note]
12-
> In most cases we should have 2 release crew members running release testing, on two separate machines.
13-
14-
## Checkout the version to test
9+
## Setup
1510

16-
When testing locally, first checkout and pull from the stable branch for the version you wish to test. For example, if testing 0.75.x:
11+
### Check out + update target release branch
1712

18-
1. `git checkout 0.75-stable`
19-
2. `git pull`
13+
```
14+
git checkout 0.83-stable
15+
git pull
16+
```
2017

21-
## Clean up the local state
18+
### Clean up the local state
2219

2320
When testing locally, we want to ensure that we start from a clean slate to avoid caches polluting our testing.
2421

25-
1. Delete `RNTester` and `RNTestProject` from your Android emulator and iOS simulator if leftover from previous test.
22+
1. Delete `RNTester` and `RNTestProject` from your Android emulator and iOS simulator if leftover from a previous test.
2623
2. Remove any temporary files from the `react-native` repo:
2724

28-
```bash
25+
```bash
2926
yarn test-release-local-clean # On RN < 0.81- `yarn test-e2e-local-clean`
30-
```
27+
```
3128

3229
3. Install dependencies:
3330

34-
```bash
35-
yarn install
36-
```
31+
```bash
32+
yarn
33+
```
3734

3835
## Generating projects to test
3936

4037
We test on two apps
4138

42-
- `RNTester`, a demonstration app that higlights the APIs and core components of React Native
39+
- `RNTester`, a demonstration app that highlights the APIs and core components of React Native
4340
- `RNTestProject`, a project built from the React Native [template](https://github.com/react-native-community/template)
4441

4542
To generate the the right project with the specific configuration desired, you can use the command:
@@ -61,10 +58,6 @@ Followed by the options:
6158

6259
Using the `-c <your-token>` option is recommended, as the script will download the required artifacts from GitHub, instead of having to build from source reducing the testing time.
6360

64-
> [!Warning]
65-
> If you are testing versions of React Native that are < 0.75, you need a CircleCI token rather than a GitHub Token.
66-
> Follow [these instruction](https://circleci.com/docs/managing-api-tokens/) to learn how to create one.
67-
6861
Use [this link](https://github.com/settings/tokens/new?description=React%20Native%20Releases&scopes=repo) to generate a token with the Repo scope. Then you can store it using:
6962

7063
```bash
@@ -86,14 +79,11 @@ If any of those prerequisites is not met, the script should output a proper erro
8679
8780
If you need to build React Native from source, you can skip the `-c` parameter. By not passing the GitHub token, the script falls back to the previous flow, building everything locally.
8881
89-
## Testing Sequence (RN >= 0.79)
82+
## Testing Sequence
9083
9184
> [!Tip]
9285
> Make sure the remote assets are built on your release branch to use the `-c` option (highly recommended)
9386
94-
> [!Note]
95-
> On React Native **`< 0.81`** `test-release-local` is called `test-e2e-local`
96-
9787
Here are the 4 dimensions we cover in manual testing:
9888
9989
**1. RNTester + iOS:**
@@ -145,97 +135,6 @@ yarn test-release-local -t "RNTestProject" -p "Android" -c $GITHUB_TOKEN
145135
# 5. Verify tests "what to test"
146136
```
147137
148-
## Testing Sequence (RN <= 0.78)
149-
150-
> [!Tip]
151-
> Make sure the remote assets are built on your release branch to use the `-c` option (highly recommended)
152-
153-
<details>
154-
<summary>ℹ️ For (<b><code>RN < 0.71</code></b>) ℹ️<br/></summary>
155-
You need to use the interactive script run you through the different variants below.
156-
This script will ask you to select which platform and which project you want to test, and then to execute a series of extra steps during the process. Bear in mind, when testing RNTester on Android, you need to start the Android emulator ahead of time or it will fail.
157-
158-
```bash
159-
./scripts/test-manual-e2e.sh
160-
```
161-
162-
</details>
163-
164-
165-
Here are the 8 dimensions we cover in manual testing:
166-
167-
**1. RNTester + iOS + Hermes:**
168-
169-
```bash
170-
yarn test-e2e-local -t "RNTester" -p "iOS" -h true -c $GITHUB_TOKEN
171-
# verify tests "what to test"
172-
# kill metro
173-
xcrun simctl uninstall booted com.meta.RNTester.localDevelopment # delete RNTester from your iOS simulator
174-
```
175-
176-
**2. RNTester + iOS + JSC:**
177-
178-
```bash
179-
yarn test-e2e-local -t "RNTester" -p "iOS" -h false -c $GITHUB_TOKEN
180-
# verify tests "what to test"
181-
# kill metro
182-
xcrun simctl uninstall booted com.meta.RNTester.localDevelopment # delete RNTester from your iOS simulator
183-
```
184-
185-
**3. RNTester + Android + Hermes:**
186-
187-
```bash
188-
yarn test-e2e-local -t "RNTester" -p "Android" -h true -c $GITHUB_TOKEN
189-
# verify tests "what to test"
190-
# kill metro
191-
adb uninstall com.facebook.react.uiapp # delete RNTester from your Android emulator
192-
```
193-
194-
**4. RNTester + Android + JSC:**
195-
196-
```bash
197-
yarn test-e2e-local -t "RNTester" -p "Android" -h false -c $GITHUB_TOKEN
198-
# verify tests "what to test"
199-
# kill metro
200-
adb uninstall com.facebook.react.uiapp # delete RNTester from your Android emulator
201-
```
202-
203-
**5. RNTestProject + iOS + Hermes:**
204-
205-
```bash
206-
yarn test-e2e-local -t "RNTestProject" -p "iOS" -h true -c $GITHUB_TOKEN
207-
# verify tests "what to test"
208-
# kill metro
209-
xcrun simctl uninstall booted org.reactjs.native.example.RNTestProject # delete RNTestProject from your iOS simulator
210-
```
211-
212-
**6. RNTestProject + iOS + JSC:**
213-
214-
```bash
215-
yarn test-e2e-local -t "RNTestProject" -p "iOS" -h false -c $GITHUB_TOKEN
216-
# verify tests "what to test"
217-
# kill metro
218-
xcrun simctl uninstall booted org.reactjs.native.example.RNTestProject # delete RNTestProject from your iOS simulator
219-
```
220-
221-
**7. RNTestProject + Android + Hermes:**
222-
223-
```bash
224-
yarn test-e2e-local -t "RNTestProject" -p "Android" -h true -c $GITHUB_TOKEN
225-
# verify tests "what to test"
226-
# kill metro
227-
adb uninstall com.rntestproject # delete RNTestProject from your Android emulator
228-
```
229-
230-
**8. RNTestProject + Android + JSC:**
231-
232-
```bash
233-
yarn test-e2e-local -t "RNTestProject" -p "Android" -h false -c $GITHUB_TOKEN
234-
# verify tests "what to test"
235-
# kill metro
236-
adb uninstall com.rntestproject # delete RNTestProject from your Android emulator
237-
```
238-
239138
## What to test?
240139
241140
- Depending on the nature of what is being picked in, you may only test very specific workflows.

0 commit comments

Comments
 (0)