|
4 | 4 |
|
5 | 5 | The release process of new minor version consists of the following steps: |
6 | 6 |
|
7 | | -1. When all tickets tracked in a release tracker (i.e. [#356](https://github.com/software-mansion/react-native-executorch/issues/356)) are merged into main branch, release branch named v{MAJOR}.{VERSION} is cut off from the main branch. |
8 | | -2. Stability tests are performed on the release branch and all fixes to the new-found issues are merged into the main branch and cherry-picked into the release branch. |
9 | | -3. Bump the version inside `package.json` in the root and commit to the release branch with commit message 'release: Bump version to v{MAJOR}.{MINOR}.0`. |
10 | | -4. Tag release branch with proper version tag (v{MAJOR}.{VERSION}.0) and run `npm publish`. |
11 | | -5. Create versioned docs by running from repo root `(cd docs && yarn docusaurus docs:version {MAJOR}.{MINOR}.x)`. |
12 | | -6. Create a PR with updated docs. |
13 | | -7. Ensure [jitpack](https://jitpack.io/#software-mansion/react-native-executorch) triggers build properly. |
14 | | -8. Create release notes on github. |
| 7 | +1. Merge all tickets tracked in a release tracker (i.e. [#356](https://github.com/software-mansion/react-native-executorch/issues/356)) into `main` branch. |
| 8 | +2. Bump version in `package.json` to the new version `v{MAJOR}.{MINOR}.0`. |
| 9 | +3. Update jitpack version inside `build.gradle` to point to the correct version tag |
| 10 | + ``` |
| 11 | + implementation("com.github.software-mansion:react-native-executorch:v{MAJOR}.{MINOR}.{REVISION}") |
| 12 | + ``` |
| 13 | +4. Commit with a message 'Release v{MAJOR}.{MINOR}.0'. (We want to keep the latest `MINOR` version on the `main` branch.) |
| 14 | +5. Create a new branch release branch `release/{MAJOR}.{MINOR}`and push it to the remote. |
| 15 | +6. Stability tests are performed on the release branch and all fixes to the new-found issues are pushed into the main branch and cherry-picked into the release branch. This allows for further development on the main branch without interfering with the release process. |
| 16 | +7. Once all tests are passed, tag the release branch with proper version tag `v{MAJOR}.{MINOR}.0` and run `npm publish`. |
| 17 | +8. Ensure [jitpack](https://jitpack.io/#software-mansion/react-native-executorch) triggers build properly. |
| 18 | +9. Create versioned docs by running from repo root `(cd docs && yarn docusaurus docs:version {MAJOR}.{MINOR}.x)` (the 'x' part is intentional and is not to be substituted). |
| 19 | +10. Create a PR with the updated docs. |
| 20 | +11. Create the release notes on github. |
15 | 21 |
|
16 | 22 | ## Patch release |
17 | 23 |
|
18 | 24 | After the release branch is created and the version is published to npm we only allow for bug fixes and other critical changes to be included into the release branch. For this purpose we use git `cherry-pick` command. |
19 | 25 |
|
20 | 26 | 1. Create a PR to the main branch. |
21 | 27 | 2. Once the PR is merged, `cherry-pick` the commit to the release branch. |
22 | | -3. Bump the version inside `package.json` in the root and commit to the release branch with commit message 'release: Bump version to v{MAJOR}.{MINOR}.{PATCH}`. |
23 | | -4. Tag release branch with proper version tag (v{MAJOR}.{VERSION}.{PATCH}) and run `npm publish`. |
| 28 | +3. Bump version in `package.json` to the new version `v{MAJOR}.{MINOR}.{REVISION}`. |
| 29 | + Update jitpack version inside `build.gradle` to point to the correct version tag |
| 30 | + ``` |
| 31 | + implementation("com.github.software-mansion:react-native-executorch:v{MAJOR}.{MINOR}.{REVISION}") |
| 32 | + ``` |
| 33 | + Commit with a message 'Release v{MAJOR}.{MINOR}.0'. |
| 34 | +4. Tag release branch with proper version tag `v{MAJOR}.{MINOR}.{REVISION}` and run `npm publish`. |
24 | 35 | 5. Ensure [jitpack](https://jitpack.io/#software-mansion/react-native-executorch) triggers build properly. |
25 | 36 | 6. Create release notes on github. |
26 | 37 |
|
|
0 commit comments