You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
-
5
3
> [!Important]
6
4
> Make sure you have the right access/tokens set up. See [onboarding](./roles-and-responsibilities.md#onboarding-to-release-crew).
7
5
8
6
> [!Caution]
9
7
> Currently, this flow can only be done on macOS machines.
10
8
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
15
10
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
17
12
18
-
1.`git checkout 0.75-stable`
19
-
2.`git pull`
13
+
```
14
+
git checkout 0.83-stable
15
+
git pull
16
+
```
20
17
21
-
## Clean up the local state
18
+
###Clean up the local state
22
19
23
20
When testing locally, we want to ensure that we start from a clean slate to avoid caches polluting our testing.
24
21
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.
26
23
2. Remove any temporary files from the `react-native` repo:
27
24
28
-
```bash
25
+
```bash
29
26
yarn test-release-local-clean # On RN < 0.81- `yarn test-e2e-local-clean`
30
-
```
27
+
```
31
28
32
29
3. Install dependencies:
33
30
34
-
```bash
35
-
yarn install
36
-
```
31
+
```bash
32
+
yarn
33
+
```
37
34
38
35
## Generating projects to test
39
36
40
37
We test on two apps
41
38
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
43
40
- `RNTestProject`, a project built from the React Native [template](https://github.com/react-native-community/template)
44
41
45
42
To generate the the right project with the specific configuration desired, you can use the command:
@@ -61,10 +58,6 @@ Followed by the options:
61
58
62
59
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.
63
60
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
-
68
61
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:
69
62
70
63
```bash
@@ -86,14 +79,11 @@ If any of those prerequisites is not met, the script should output a proper erro
86
79
87
80
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.
88
81
89
-
## Testing Sequence (RN >= 0.79)
82
+
## Testing Sequence
90
83
91
84
> [!Tip]
92
85
> Make sure the remote assets are built on your release branch to use the `-c` option (highly recommended)
93
86
94
-
> [!Note]
95
-
> On React Native **`< 0.81`**`test-release-local` is called `test-e2e-local`
96
-
97
87
Here are the 4 dimensions we cover in manual testing:
> 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:
0 commit comments