Go Wiki:SlowBots

Go 建置系統支援「SlowBots」,這是一種設定 TryBots(提交前建置器)的方式,用以將其他建置器新增至通常由 TryBots 執行的一組建置組態。

TryBots 通常只執行快速且具有彈性配置的項目。換句話說,TryBots 會執行 Google Cloud 上的可用埠測試,該處擁有大量容量,且可以隨意準備大量 VM,廣泛分片執行測試,讓 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

審閱流程

作為審閱者,您無法編輯提交訊息。如果準備審閱的變更清單應執行 SlowBots,我們建議採取下列流程

  1. 在「選擇 Tryjobs」對話框中選擇想要的建置。
  2. 按一下「新增」以立即開始進行建置。
  3. 在提交訊息中新增一個未解決評論,要求擁有者將對話框中的確切 Cq-Include-Trybots 指令新增到提交訊息中。

(2)將會立即提供測試結果的回饋,無需等待擁有者上傳新的修補程式集,而(3)將確保測試會在未來的修補程式集上持續執行,並封鎖提交。

備註:https://crbug.com/40287467 追蹤 LUCI 中用於減少繁瑣作業的此程序的改進情況。

SlowBot 名稱

每個建置的名稱大致上會標示其用途,但以下提供一些更詳盡的說明

目前列出的建置比實際支援或有效的建置還要多更多。

以下是 SlowBots 正常運作的一些一般準則

待辦事項:自動將這些準則套用為篩選器。

LUCI 前的 SlowBots

我們目前正在將系統遷移至名為 LUCI 的建置系統,是由 Chromium 專案建立的全新開源 CI 系統。以上說明介紹如何在 LUCI 上執行 SlowBots,但尚未將所有埠都遷移到 LUCI。在此過渡期間,這些埠仍然可在舊的基礎架構上使用。以下是如何在舊的基礎架構上使用 SlowBots 的說明。

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

… 在『TRY=』後的字詞為

針對主要的 Go 存放庫,TRY= 之後的詞彙也可以是

稍後重新執行 TryBot 時,會使用目前補丁集上最新的 TRY= 資訊。若要停用它,請在等號後方設定空的字串來設定 TRY=。如果目前的補丁集沒有 TRY= 資訊,會使用最新的 TRY= 資訊。

使用 Pre-LUCI SlowBot 的陷阱


此內容是 Go Wiki 的一部分。