-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'trunk' into cli/gbm-patch
- Loading branch information
Showing
70 changed files
with
270 additions
and
122 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,128 @@ | ||
# Release Checklist Template | ||
|
||
The Release Checklist Template can be generated with the following command: (replacing `X.XX.X` with the applicable release number): | ||
|
||
``` | ||
go run main.go render checklist -v X.XX.X | ||
``` | ||
|
||
The `--c` flag will copy the output to your clipboard. To view the output in the command line, simply remove the `--c` flag. | ||
|
||
|
||
If the release is a betafix/hotfix, include a message explaining briefly the reason for releasing the fix. | ||
**Example:** | ||
|
||
``` | ||
go run main.go render checklist -v X.XX.X --message "This hotfix addresses ISSUE_OR_CRASH in ORIGINAL_VERSION. See P2_PR_SLACK_ETC_LINK_OR_LINKS for the rationale behind the decision to make it." | ||
``` | ||
|
||
# Different types of releases | ||
|
||
## Best practices | ||
|
||
It's best practice to use the automation script (mentioned in the release template above) for all releases types (alpha, regular, betafix, hotfix). When wrangling a betafix or hotfix, it's important to merge the fix to Gutenberg `trunk` independently of the release process. When the release is cut (by the automation script) the commit(s) that make up the betafix or hotfix should then be cherry-picked onto the Gutenberg release branch. | ||
|
||
## 1. Alpha | ||
|
||
### When | ||
|
||
Whenever a build is needed for testing (usually a few days prior to a Regular release). | ||
|
||
### Branches | ||
|
||
For example, when the next release will be `1.11.0`. | ||
|
||
| Repo | Cut From | Branch Name | | ||
| ---------------- | -------- | ----------------------------------------- | | ||
| gutenberg | trunk | rnmobile/release_1.11.0-alpha1 | | ||
| gutenberg-mobile | trunk | release/1.11.0-alpha1 | | ||
| WPAndroid | trunk | gutenberg/integrate_release_1.11.0-alpha1 | | ||
| WPiOS | trunk | gutenberg/integrate_release_1.11.0-alpha1 | | ||
|
||
### Automation script differences | ||
|
||
Compared to a Regular release, the differences here are: | ||
|
||
- When the script asks for the new version number, don't forget to add the `-alpha` suffix (e.g. `1.11.0-alpha1`). | ||
- All PRs created by the release script should be edited to clarify that they are temporary and will be deleted when testing is finished. | ||
|
||
### Release checklist template differences | ||
|
||
The release checklist is not used for alpha releases. When testing is finished, please close all PRs and delete all branches created by the script. | ||
|
||
## 2. Regular | ||
|
||
### When | ||
|
||
On Thursdays, the week before the main apps (WPiOS & WPAndroid) have cut their releases, every 2 weeks. | ||
|
||
### Branches | ||
|
||
For example when releasing gutenberg-mobile `1.11.0`. | ||
|
||
| Repo | Cut From | Branch Name | Merging To | | ||
| ---------------- | -------- | ---------------------------------- | --------------- | | ||
| gutenberg | trunk | rnmobile/release_1.11.0 | trunk | | ||
| gutenberg-mobile | trunk | release/1.11.0 | trunk | | ||
| WPAndroid | trunk | gutenberg/integrate_release_1.11.0 | trunk | | ||
| WPiOS | trunk | gutenberg/integrate_release_1.11.0 | trunk | | ||
|
||
## 3. Betafix | ||
|
||
### When | ||
|
||
A fix is targeting a main app version that is not yet released (meaning the release branch is cut but it's still in beta) and a new gutenberg-mobile release is needed. | ||
|
||
### Branches | ||
|
||
For example when releasing gutenberg-mobile `1.11.1` while main apps version `22.2.0` is in beta which currently has gutenberg-mobile `1.11.0` in it. | ||
At the same time there could also be a regular release going on for example for gutenberg-mobile version `1.12.0`. | ||
|
||
| Repo | Cut From | Branch Name | Merging To | | ||
| ---------------- | ----------------------- | ---------------------------------- | ---------------------------------------------------------------- | | ||
| gutenberg | rnmobile/release_1.11.0 (tag) | rnmobile/release_1.11.1 | trunk & (maybe also) rnmobile/release_1.12.0 | | ||
| gutenberg-mobile | v1.11.0 (tag) | release/1.11.1 | trunk & (maybe also) release/1.12.0 | | ||
| WPAndroid | release/22.2.0 | gutenberg/integrate_release_1.11.1 | release/22.2.0 & (maybe also) gutenberg/integrate_release_1.12.0 | | ||
| WPiOS | release/22.2.0 | gutenberg/integrate_release_1.11.1 | release/22.2.0 & (maybe also) gutenberg/integrate_release_1.12.0 | | ||
|
||
### Automation script differences | ||
|
||
1. Run the CLI tool as normal | ||
1. When asked by the script enter the relevant branch names to cut from (to target) in other repos. | ||
1. If a commit that is fixing the issue is already merged to gutenberg, when asked by the script enter the commit hash to be cherry-picked. | ||
|
||
### Release checklist template differences | ||
|
||
1. Include `Betafix` in the heading. | ||
1. `after_X.XX.X` branches can be ignored. | ||
|
||
## 4. Hotfix | ||
|
||
### When | ||
|
||
A fix is targeting a main app version that is already released and a new gutenberg-mobile release is needed. | ||
|
||
### Branches | ||
|
||
For example when releasing gutenberg-mobile `1.11.1` while main apps version `22.2.0` is released which currently has gutenberg-mobile `1.11.0` in it. | ||
At the same time there could also be a regular release, a betafix or even another hotfix going on for example for gutenberg-mobile version `1.12.1`. | ||
|
||
| Repo | Cut From | Branch Name | Merging To | | ||
| ---------------- | ----------------------- | ---------------------------------- | ---------------------------------------------------------------- | | ||
| gutenberg | rnmobile/release_1.11.0 (tag) | rnmobile/release_1.11.1 | trunk & (maybe also) rnmobile/release_1.12.1 | | ||
| gutenberg-mobile | v1.11.0 (tag) | release/1.11.1 | trunk & (maybe also) release/1.12.1 | | ||
| WPAndroid | release/22.2.0 | gutenberg/integrate_release_1.11.1 | release/22.2.1 & (maybe also) gutenberg/integrate_release_1.12.1 | | ||
| WPiOS | release/22.2.0 | gutenberg/integrate_release_1.11.1 | release/22.2.1 & (maybe also) gutenberg/integrate_release_1.12.1 | | ||
|
||
### Automation script differences | ||
|
||
1. If necessary create new patch version branches `release/X.Y.1` in WPiOS and WPAndroid. | ||
|
||
The rest should be same the as Betafix. | ||
|
||
### Release checklist template differences | ||
|
||
1. Include `Hotfix` in the heading | ||
1. After the fix is merged and if there is an ongoing regular release, betafix or hotfix then the changes should be brought back to those branches as well. | ||
|
||
The rest should be same the as Betafix. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
# Testing | ||
|
||
If developing with VSCode, tests can be run inline within the test files themselves, and is the recommended method for running and debugging tests. Tests can also be run from the command line with the `go test` command. | ||
|
||
## Testing Environment for Development | ||
The CLI tool can be run against forked repos for testing. To configure your forked repos: | ||
|
||
1. Fork the following repos to your github user repo: | ||
- [Gutenberg-Mobile](https://github.com/wordpress-mobile/gutenberg-mobile) | ||
- [Gutenberg](https://github.com/WordPress/gutenberg) | ||
- [WordPress-Android](https://github.com/wordpress-mobile/WordPress-Android) | ||
- [WordPress-iOS](https://github.com/wordpress-mobile/WordPress-iOS) | ||
|
||
3. Ensure that your forked repos contains the PR labels specified below: | ||
a) Gutenberg Mobile: "release-process" | ||
b) Gutenberg: "Mobile App - i.e. Android or iOS" | ||
|
||
4. Ensure that each of your repos contains the target branch `trunk`. | ||
|
||
5. Ensure that [.gitmodules](https://github.com/wordpress-mobile/gutenberg-mobile/blob/trunk/.gitmodules) references your Gutenberg fork. | ||
|
||
|
||
To run commands against the forked repos, set `GBM_WORDPRESS_ORG` and `GBM_WPMOBILE_ORG` as environment variables to user GitHub username. By default, these values with be WordPress and WordPress-Mobile, respectively. | ||
|
||
Example command: | ||
|
||
``` | ||
GBM_WPMOBILE_ORG=yourusername GBM_WORDPRESS_ORG=yourusername go run main.go release prepare gb 1.109.0 | ||
``` | ||
|
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.