Skip to content

Commit eda41c1

Browse files
authored
docs(release): simplify merge steps and minor markdown cleanup (#11667)
2 parents 83282dc + be14a09 commit eda41c1

1 file changed

Lines changed: 29 additions & 52 deletions

File tree

‎docs/release/RELEASE.md‎

Lines changed: 29 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -182,57 +182,47 @@ The merge process enables various benefits, including:
182182
- You will be performing the merge from main into beta
183183
- The main branch is locked and cannot be changed during the merge
184184
- You will let them know when the merge is complete and main is re-opened
185-
3. Clone thunderbird-android into three working directories:
186-
- `merge_beta` - where you'll perform the merge; check out the `beta` branch
187-
- `orig_main` - reference copy on the `main` branch
188-
- `orig_beta` - reference copy on the `beta` branch
189-
4. From `merge_beta`, run `scripts/ci/merges/do_merge.sh beta`
190-
5. Handle merge conflicts if there are any:
185+
3. Run `scripts/ci/merges/do_merge.sh beta`
186+
4. Handle merge conflicts if there are any:
191187
- See conflicting files with `git status`
192188
- Search for `<<<<` to find conflicts
193189
- Fix conflicts
194190
- `git add <file>` each fixed file
195191
- When all files have been fixed and added, run `git merge --continue`
196-
- Tip: use the `orig_main` and `orig_beta` repos to diff conflicting files, e.g. `vimdiff "${orig_main}/${f}" "${orig_beta}/${f}"`
197-
6. Review merge results and ensure correctness:
192+
- Tip: use the `origin/main` and `origin/beta` branches to diff conflicting files, e.g. `git diff origin/main origin/beta <file>`
193+
5. Review merge results and ensure correctness:
198194
- Review the changes to `app-thunderbird/build.gradle.kts`, `app-k9mail/build.gradle.kts`, and release note files
199195
- Diff the merge commit with `git diff HEAD~1 HEAD --name-only` and sanity check the files that changed
200-
- Diff main vs the new beta with `diff -Naur --exclude=".git" --exclude="images" "${orig_main}" "${merge_beta}"`
201-
- Note: Ensure the metadata symlink is the same on each repo to ensure proper diff
202-
7. Push the merge (`git push`)
203-
8. Update milestones (must be done before version increment in main)
196+
- Diff main vs the new beta with `git diff origin/main` or `git difftool -d origin/main` (recommended if you have the tooling set up for it)
197+
6. Push the merge (`git push`)
198+
7. Update milestones (must be done before version increment in main)
204199
- Open a new milestone for the new version
205200
- Close the oldest milestone
206201
- There should always be 3 milestones open (main, beta, release)
207-
9. Submit a pull request that increments the version name in main (e.g. https://github.com/thunderbird/thunderbird-android/pull/11034)
208-
10. Once the version increment is merged into main, unlock the branch
209-
11. Send a message to the #tb-mobile-dev:mozilla.org channel to notify of merge completion and that main is re-opened for the new version (e.g. 21.0)
202+
8. Submit a pull request that increments the version name in main (e.g. <https://github.com/thunderbird/thunderbird-android/pull/11034>)
203+
9. Once the version increment is merged into main, unlock the branch
204+
10. Send a message to the #tb-mobile-dev:mozilla.org channel to notify of merge completion and that main is re-opened for the new version (e.g. 21.0)
210205

211206
**The following steps are taken when merging beta into release:**
212207

213208
1. Send a message to the #tb-mobile-dev:mozilla.org matrix channel to let them know:
214209
- You will be performing the merge from beta into release
215210
- You will let them know when the merge is complete
216-
2. Clone thunderbird-android into three working directories:
217-
- `merge_release` - where you'll perform the merge; check out the `release` branch
218-
- `orig_beta` - reference copy on the `beta` branch
219-
- `orig_release` - reference copy on the `release` branch
220-
3. From `merge_release`, run `scripts/ci/merges/do_merge.sh release`
221-
4. Handle merge conflicts if there are any:
211+
2. Run `scripts/ci/merges/do_merge.sh release`
212+
3. Handle merge conflicts if there are any:
222213
- See conflicting files with `git status`
223214
- Search for `<<<<` to find conflicts
224215
- Fix conflicts
225216
- `git add <file>` each fixed file
226217
- When all files have been fixed and added, run `git merge --continue`
227-
- Tip: use the `orig_beta` and `orig_release` repos to diff conflicting files, e.g. `vimdiff "${orig_beta}/${f}" "${orig_release}/${f}"`
228-
5. Review merge results and ensure correctness:
218+
- Tip: use the `origin/beta` and `origin/release` branches to diff conflicting files, e.g. `git diff origin/beta origin/release <file>`
219+
4. Review merge results and ensure correctness:
229220
- Review the changes to `app-thunderbird/build.gradle.kts`, `app-k9mail/build.gradle.kts`, and release note files
230221
- Ensure `app-k9mail/src/main/res/raw/changelog_master.xml` does not include any beta notes
231222
- Diff the merge commit with `git diff HEAD~1 HEAD --name-only` and sanity check the files that changed
232-
- Diff beta vs the new release with `diff -Naur --exclude=".git" --exclude="images" "${orig_beta}" "${merge_release}"`
233-
- Note: Ensure the metadata symlink is the same on each repo to ensure proper diff
234-
6. Push the merge (`git push`)
235-
7. Send a message to the #tb-mobile-dev:mozilla.org channel to notify of merge completion
223+
- Diff beta vs the new release with `git diff origin/beta` or `git difftool -d origin/beta` (recommended if you have the tooling set up for it)
224+
5. Push the merge (`git push`)
225+
6. Send a message to the #tb-mobile-dev:mozilla.org channel to notify of merge completion
236226

237227
Merges are performed with the `do_merge.sh` script.
238228

@@ -268,37 +258,24 @@ These are the general steps for a release:
268258
1. Perform merge or uplifts. Each release is the result of either a merge or uplift
269259
2. Draft release notes at [thunderbird-notes](https://github.com/thunderbird/thunderbird-notes)
270260
3. Trigger build via the [Shippable Build & Signing](https://github.com/thunderbird/thunderbird-android/actions/workflows/shippable_builds.yml) action
271-
272-
- Release notes must be landed to `prod` before triggering [Shippable Build & Signing](https://github.com/thunderbird/thunderbird-android/actions/workflows/shippable_builds.yml), or the build will fail
273-
261+
- Release notes must be landed to `prod` before triggering [Shippable Build & Signing](https://github.com/thunderbird/thunderbird-android/actions/workflows/shippable_builds.yml), or the build will fail
274262
4. Review the build results by reviewing the action summary and the git commits resulting from the build
275-
276-
- Make sure the version code is incremented properly and not wildly off
277-
- Ensure the commits are correct
278-
- Ensure the symlink `app-metadata` points to the right product at this commit
279-
263+
- Make sure the version code is incremented properly and not wildly off
264+
- Ensure the commits are correct
265+
- Ensure the symlink `app-metadata` points to the right product at this commit
280266
5. Test the build in the internal testing track
281-
282-
- Release versions should be thoroughly tested with the test plan in Testrail
283-
- Beta versions only require a basic smoke test to ensure it installs
284-
267+
- Release versions should be thoroughly tested with the test plan in Testrail
268+
- Beta versions only require a basic smoke test to ensure it installs
285269
6. Document contributors on Thunderbird and K-9 GitHub releases page
286-
287-
- Contributors can be compiled from the GitHub release notes template that can be generated when editing a release
288-
270+
- Contributors can be compiled from the GitHub release notes template that can be generated when editing a release
289271
7. Promote TfA and K-9 releases to production track in Play Store
290-
291-
- Set rollout to a low rate (generally 10-30%)
292-
- Betas are only released for TfA. K-9 beta users are advised to use Thunderbird
293-
272+
- Set rollout to a low rate (generally 10-30%)
273+
- Betas are only released for TfA. K-9 beta users are advised to use Thunderbird
294274
8. Wait for Play Store review to complete
295-
296-
- Release versions of TfA and K-9 have managed publishing enabled. Once the review has completed you need to publish the release
297-
- Beta versions of TfA do not have managed publishing enabled. It will be available once Google has reviewed, even on a weekend
298-
275+
- Release versions of TfA and K-9 have managed publishing enabled. Once the review has completed you need to publish the release
276+
- Beta versions of TfA do not have managed publishing enabled. It will be available once Google has reviewed, even on a weekend
299277
9. Update F-Droid to new TfA and K-9 releases by sending a pull request to [fdroiddata](https://gitlab.com/fdroid/fdroiddata)
300278
10. Send community updates to Matrix channels, and beta or planning mailing lists as needed
301279
11. Approximately 24 hours after initial release to production, assess the following before updating rollout to a higher rate:
302-
303-
- Crash rates, GitHub issues, install base, and reviews
280+
- Crash rates, GitHub issues, install base, and reviews
304281

0 commit comments

Comments
 (0)