版本政策

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

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

候选版本

Bazel 新版本的候选版本通常在每个月初创建。这项工作由 GitHub 上的 发布 bug 进行跟踪,该 bug 会指明目标发布日期,并分配给当前的发布经理。候选版本应通过所有 Bazel 单元测试,并且在 Buildkite 上测试的项目中不应出现任何不必要的 回归。

候选版本会在 bazel-discuss上公布。 在接下来的几天里,Bazel 团队会监控社区 bug 报告,以了解候选版本中是否存在任何回归。

发布

如果未发现任何回归,候选版本会在一周后正式发布。不过,回归可能会延迟候选版本的发布。如果发现回归,Bazel 团队会对候选版本应用相应的择优挑选,以修复这些回归。如果从第一个候选版本发布一周后开始,连续两个工作日内未发现其他回归,则会发布该候选版本。

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

只有在次日是工作日的情况下,才会发布版本。

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

测试

系统会使用在 head 处构建的 Bazel 二进制文件和发布二进制文件,对在 ci.bazel.build上运行的所有项目执行每夜版。系统会通知将受到重大更改影响的项目。

发布候选版本后,系统会使用候选版本二进制文件,对 TensorFlow 等其他 Google 项目的完整 测试套件进行测试。如果您有使用 Bazel 的关键项目,我们建议您建立一个自动化测试流程,以跟踪当前的候选版本并报告任何回归。