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
{{ message }}
Repository navigation
Commit eda41c1
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: docs/release/RELEASE.md
+29-52Lines changed: 29 additions & 52 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -182,57 +182,47 @@ The merge process enables various benefits, including:
182
182
- You will be performing the merge from main into beta
183
183
- The main branch is locked and cannot be changed during the merge
184
184
- 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:
191
187
- See conflicting files with `git status`
192
188
- Search for `<<<<` to find conflicts
193
189
- Fix conflicts
194
190
-`git add <file>` each fixed file
195
191
- 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:
198
194
- Review the changes to `app-thunderbird/build.gradle.kts`, `app-k9mail/build.gradle.kts`, and release note files
199
195
- 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)
204
199
- Open a new milestone for the new version
205
200
- Close the oldest milestone
206
201
- 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)
210
205
211
206
**The following steps are taken when merging beta into release:**
212
207
213
208
1. Send a message to the #tb-mobile-dev:mozilla.org matrix channel to let them know:
214
209
- You will be performing the merge from beta into release
215
210
- 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:
222
213
- See conflicting files with `git status`
223
214
- Search for `<<<<` to find conflicts
224
215
- Fix conflicts
225
216
-`git add <file>` each fixed file
226
217
- 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:
229
220
- Review the changes to `app-thunderbird/build.gradle.kts`, `app-k9mail/build.gradle.kts`, and release note files
230
221
- Ensure `app-k9mail/src/main/res/raw/changelog_master.xml` does not include any beta notes
231
222
- 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
236
226
237
227
Merges are performed with the `do_merge.sh` script.
238
228
@@ -268,37 +258,24 @@ These are the general steps for a release:
268
258
1. Perform merge or uplifts. Each release is the result of either a merge or uplift
269
259
2. Draft release notes at [thunderbird-notes](https://github.com/thunderbird/thunderbird-notes)
270
260
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
274
262
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
280
266
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
285
269
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
289
271
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
294
274
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
299
277
9. Update F-Droid to new TfA and K-9 releases by sending a pull request to [fdroiddata](https://gitlab.com/fdroid/fdroiddata)
300
278
10. Send community updates to Matrix channels, and beta or planning mailing lists as needed
301
279
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
0 commit comments