-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Creating a release branch
These are instructions for preparing a release branch for Fenix Beta release. For reference, the AC release checklist can be found at https://mozac.org/contributing/release-checklist. Instead of updating the AC version manually, you could also wait for automation to update the ac version.
-
Create a branch name with the format
releases_v[beta_version].0.0
(for example:releases_v87.0.0
) off of themain
branch using the GitHub UI.[beta_version]
should follow the Firefox Beta version number. See Firefox Release Calendar. -
Create a pull request with the following commit format
Set version to [beta_version].0.0
targeting thereleases_v[beta_version].0.0
branch to pin the Android ComponentsVERSION
to[beta_version].0.0
.diff --git a/buildSrc/src/main/java/AndroidComponents.kt b/buildSrc/src/main/java/AndroidComponents.kt index 1f3e0dba90..1cfef784e4 100644 --- a/buildSrc/src/main/java/AndroidComponents.kt +++ b/buildSrc/src/main/java/AndroidComponents.kt @@ -3,5 +3,5 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ object AndroidComponents { - const val VERSION = "73.0.20210223143117" + const val VERSION = "73.0.0" }
-
Verify that
version.txt
already refers to the Fenix Beta release version[beta_version].0.0-beta.1
in thereleases_v[beta_version].0.0
branch. Bump it up manually if necessary. -
Announce the new
releases_v[beta_version].0.0
branch on Slack in #releaseduty-mobile. -
Automation should take over after you land your PR into the upstream
releases_v[beta_version].0.0
branch. You can verify by clicking on the branch in the UI, and looking for the green/yellow dot that will list links to the running build tasks.
See https://github.com/mozilla-mobile/fenix/pull/22739 for an example.
We need to also update version.txt
for the main
branch in order to prepare beta versions of our Nightly release.
- Create a new milestone for the
[nightly_version]
and close the existing[beta_version]
milestone. Bump all the remaining open issues in the closed milestone to the new Nightly milestone or remove the tagged milestone depending on what is appropriate. - In the
main
branch, create a pull request to update theversion.txt
to[nightly_version].0.0-beta.1
. - Land the updated
version.txt
intomain
with a review from someone from relman (#releaseduty-mobile).
See https://github.com/mozilla-mobile/fenix/pull/23640 for an example.
After the Beta cut, another task is to renew/remove all soon to expire telemetry probes. What we're looking for is to create a list of telemetry that will expire in [beta_version add 2]
. See Firefox Release Calendar for the current Release version. There is a script that will help with finding these soon to expire telemetry.
- Use the helper
python3 tools/data_renewal_generate.py release_version+2
to detected and generate files that will help create the following files:
-
[beta_version add 2]
_expiry_list.csv -
[beta_version add 2]
_renewal_request.txt
- Upload the
[beta_version add 2]
_expiry_list.csv to Google sheet in this shared Google Drive and contact product to review. For each telemetry listed answer decide for:
- Renew the metric (for how long? Add 12 versions?)
- Choose not to renew (but not delete)
- Choose to remove the metric
- Renew the metric and set to never expire (this should only be for business critical metrics)
- Note that
metrics.yaml
is also modified. Once the review is over, continue to modifymetrics.yaml
to match the decision made in the Google sheet. Make sure to add the PR link and if the telemetry never expires, add the email of the owner as contact. - Create a PR for review. Modify
[beta_version add 2]
_renewal_request.txt and paste it to the PR for data review. Make sure to add the answers for:
- When will this collection now expire?
- Why was the initial period of collection insufficient?
Now that we made the Beta cut, we can remove all the unused strings marked moz:removedIn <= [release_version subtract 1]
. [release_version]
should follow the Firefox Release version. See Firefox Release Calendar for the current Release version.
- File a GitHub issue named "Remove all unused strings marked moz:removedIn <=
[release_version subtract 1]
". - Search and remove all strings marked
moz:removedIn="[release_version subtract 1]"
. - Put up a pull request.
If you run into any problems, please ask any questions on Slack in #releaseduty-mobile.
References: