发布流程

创建新的发布分支

  1. 创建格式为 releases_v[version] 的分支名称(例如:releases_v87.0)。

  2. 将 Android Components 版本固定到格式为 [version].0.0 的最终发布版本。

    例如

文件 当前版本 发布版本
AndroidComponents 73.0.20210223143117 73.0.0
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](https://github.com/mozilla-mobile/focus-android/actions/workflows/update-ac.yml).
  1. 在 GitHub UI 中,在上游创建格式为 releases_v[version] 的分支。

  2. releases_v[version] 分支作为 PR 推送,提交消息为“将版本设置为 [version]”,并将提交合并到上游 releases_v[version] 分支。

  3. 为下一次发布创建一个新的 里程碑,并关闭现有的里程碑。

  4. 在 Slack 的 #releaseduty-mobile 中宣布新的 releases_v[version] 分支。

将您的 PR 合并到上游 releases_v[version] 分支后,自动化流程将接管。您可以通过在 UI 中点击分支并查找绿色/黄色点来验证,该点将列出正在运行的构建任务的链接。

Beta 版发布后

versionNamebuild.gradle(Module:focus-android.app) 更新到下一个 Focus Beta 版的版本。这应该是 [version + 1]。例如,如果发布版本为 90,我们希望为 91 准备最新的 nightly 版本。例如

文件 当前版本 发布版本
build.gradle 90 91

更新遥测

Beta 版发布后,另一项任务是更新/删除所有即将过期的遥测探针。我们正在寻找的是创建一个遥测列表,这些遥测将在 [release_version add 2] 中过期。有关当前发布版本,请参阅 Firefox 发布日历。有一个脚本可以帮助查找这些即将过期的遥测。

  1. 使用辅助工具 python3 tools/data_renewal_generate.py release_version+2 检测并生成文件,以帮助创建以下文件

  • [release_version add 2]_expiry_list.csv

  • [release_version add 2]_renewal_request.txt

  1. [release_version add 2]_expiry_list.csv 上传到此 共享 Google 云端硬盘 中的 Google 表格,并联系产品进行审查。对于列出的每个遥测,请回答以下问题:决定

  • 更新指标(更新多长时间?添加 12 个版本?)

  • 选择不更新(但不删除)

  • 选择删除指标

  • 更新指标并设置为永不过期(这仅适用于业务关键指标)

  1. 请注意,metrics.yaml 也会被修改。审查结束后,继续修改 metrics.yaml 以匹配 Google 表格中做出的决定。确保添加 PR 链接,如果遥测永不过期,请添加所有者的电子邮件作为联系人。

  2. 创建 PR 以供审查。修改 [release_version add 2]_renewal_request.txt 并将其粘贴到 PR 中以进行数据审查。确保添加以下问题的答案:

  • 此收集何时过期?

  • 为什么最初的收集时间不足?

寻求帮助

如果您遇到任何问题,请在 Slack 的 #releaseduty-mobile 中提出任何问题。

参考

  • https://github.com/mozilla-mobile/focus-android/tree/releases_v96.0

  • https://github.com/mozilla-mobile/focus-android/pull/6012