Go Wiki:SlowBots

Go 构建系统支持“SlowBots”,这是一种配置 TryBots(提交前构建器)的方法,可以将额外的构建器添加到 TryBots 通常运行的构建配置集中。

通常,TryBots 只运行快速且弹性配置的内容。也就是说,TryBots 运行可在 Google Cloud 上使用的端口的测试,我们在那里拥有大量的容量,可以随意启动许多虚拟机,广泛地分片测试执行,以便 TryBots 在 5-10 分钟内完成。

但有时这还不够。SlowBots 允许您声明您可以在某些特定构建器可用之前等待很长时间。(某些配置通常只有一个物理机器,而且通常工作积压,并且该构建器也可能很慢。)

使用 SlowBots

单击提交消息下的“选择 Tryjobs”,将出现一个对话框。

A red box indicating the location of the “Choose Tryjobs” button under the commit message.

该对话框将要求您单击要针对您的 CL 运行的构建的复选框。对主 Go 存储库的典型 CL 通常需要以 gotip- 开头的构建器。请参见下文了解有关选项的更多详细信息。

An example of the Choose Tryjobs dialog.

选择要运行的构建后,有两种方法可以触发测试运行

An example of how to use Cq-Include-Trybots

审阅者工作流程

作为审阅者,您无法编辑提交消息。如果您正在审阅的 CL 应该运行 SlowBots,我们建议您遵循以下工作流程

  1. 在“选择 Tryjobs”对话框中选择所需的构建。
  2. 单击“添加”立即启动构建。
  3. 在提交消息中添加一条未解决的注释,要求所有者将对话框中的确切 Cq-Include-Trybots 行添加到提交消息中。

(2)将根据测试结果提供即时反馈,而无需等待所有者上传新的补丁集,而(3)将确保测试在将来的补丁集中继续运行并阻止提交。

注意:https://crbug.com/40287467 跟踪 LUCI 中此流程的改进,以减少工作量。

SlowBot 名称

每个构建的名称大致指示它将执行的操作,但下面提供了一些更详细的信息

当前列出的可能构建数量远多于实际支持或有效的构建数量。

以下是一些关于哪些 SlowBots 将按预期工作的一般指南

待办事项:自动将这些指南用作筛选器。

Pre-LUCI SlowBots

我们目前正在迁移到 Chromium 项目创建的新开源 CI 系统 LUCI 的过程中。以上说明描述了如何在 LUCI 上运行 SlowBots,但并非所有端口都已迁移到 LUCI。在此期间,这些端口仍可在旧的基础设施上使用。以下是有关如何在旧基础设施上使用 SlowBots 的说明。

TRY=ppc64le, freebsd, netbsd-386, ios, linux-arm64-packet

…其中 TRY= 后的术语为

对于主 Go 存储库,TRY= 后的术语也可以是

稍后再次运行 TryBots 时,将使用当前补丁集上最新的 TRY= 注释。要将其关闭,请在等号后面使用空字符串设置 TRY=。如果当前补丁集没有 TRY= 注释,则将使用最新的 TRY= 注释。

Pre-LUCI SlowBots 的陷阱


此内容是 Go Wiki 的一部分。