发布政策

Bazel 会保留长期支持 (LTS) 发布模型,其中主要版本每 9 个月发布一次,次要版本发布。本页面介绍了 Bazel 发布政策,包括候选版本、时间表、公告和测试。

您可以在 GitHub 上找到 Bazel 版本。

候选版本

新版本的 Bazel 候选版本通常在每个月的月初创建。该工作由显示目标发布日期的 GitHub 上的发布错误跟踪,并分配给当前发布管理器。候选版本应该通过所有 Bazel 单元测试,并且在 Buildkite 上测试的项目中没有出现不需要的回归问题。

候选版本会在 Bazel-discuss 上公布。在接下来的几天内,Bazel 团队会监控社区错误报告,了解候选人中是否有任何回归问题。

发布

如果没有发现衰退,那么候选版本会在一周后正式发布。但是,回归可能会延迟发布候选版本。如果发现性能下降,Bazel 团队会将择优挑选的补丁程序应用到候选版本以解决这些回归问题。如果第一个候选版本自发布以来的一周后连续两天内都没有进一步的衰退,那么系统就会发布候选版本。

新功能不会在发布之后被择优挑选到候选版本。此外,如果某项新功能有误,该功能可能会从候选版本回滚。只有那些可能会严重影响或破坏发布 build 的错误才会在候选发布版本经过修复后得到修复。

版本只在次日为工作日时发布。

如果在最新版本中发现重大问题,Bazel 团队会通过将修复程序应用于该版本来创建一个补丁程序版本。由于此补丁程序会更新现有版本,而不是创建新的版本,因此候选补丁程序候选版本可以在两个工作日后发布。

测试

针对在 ci.Bazel.build 上运行的所有项目运行一个每夜版,使用启动时构建的 Bazel 二进制文件并发布二进制文件。若项目会受重大变更影响,系统会通知您。

候选版本发布后,其他 Google 项目(如 TensorFlow)会使用候选版本二进制文件在其完整的测试套件中进行测试。如果您有一个使用 Bazel 的关键项目,我们建议您建立一个自动化测试流程,用于跟踪当前候选版本并报告所有回归问题。