版本政策

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

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

候选版本

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

候选版本在 bazel-suite 上公布。在接下来的几天内,Bazel 团队会监控社区 bug 报告,看看候选项中是否存在任何回归问题。

发布

如果未发现任何回归问题,则候选版本会在一周后正式发布。不过,回归可能会导致候选版本的发布时间延迟。如果发现回归问题,Bazel 团队会对候选版本应用相应的择优挑选来修复这些回归问题。如果在自第一个候选版本推出之日起的一周后,连续两个工作日仍未发现进一步回归问题,就会发布候选版本。

新功能不会在候选版本发布后择优挑选到候选版本中。此外,如果新功能存在 bug,该功能可能会从候选版本回滚。只有有可能严重影响或破坏发布 build 的 bug 才会在候选版本中得到修复。

发布版本仅在第二天是工作日时发布。

如果在最新版本中发现严重问题,Bazel 团队会通过对该版本进行修复来创建补丁版本。由于此补丁会更新现有版本(而不是创建新的版本),因此候选补丁版本可以在两个工作日后发布。

测试

使用在头构建的 Bazel 二进制文件并发布二进制文件,在 ci.bazel.build 上运行的所有项目每晚运行一次。将受破坏性更改影响的项目会收到通知。

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