版本政策

报告问题 查看源代码

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

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

候选版本

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

候选版本会在 bazel-COMMENT 上公布。在接下来的几天,Bazel 团队将监控社区 bug 报告,检查候选版本是否出现回归问题。

发布

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

新功能发布后,我们不会为其择优挑选候选版本。此外,如果新功能存在错误,我们可能会从候选版本回滚该功能。在候选版本定稿后,只有有可能严重影响或破坏发布 build 的 bug 才会在候选版本中进行修复。

仅在次日为工作日的发布版本才会发布。

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

测试

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

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