版本政策

Bazel 負責維護長期支援 (LTS) 發布模式,其中主要版本每九月會發布一次,子版本則是每個月發布一次。本頁面說明 Bazel 發布政策,包括發布版本、時程、公告和測試。

您可以在 GitHub 找到 Bazel 版本。

候選版

新版 Bazel 的候選版本通常會在每月月初建立。工作是由 GitHub 上的發布錯誤追蹤,該錯誤會指出目標的發布日期,並指派給目前的發布管理員。候選版本應通過所有 Bazel 單元測試,並在 Buildkite 測試的專案中顯示不必要的迴歸。

候選版會在 bazel-discuss 上公布。接下來的幾天,Bazel 團隊會監控候選項目中是否發生任何迴歸的社群錯誤報告。

推出中

如未偵測到任何迴歸,該候選項目將在一週後正式釋出。不過,迴歸可能會延遲發布候選版本的發布時間。如果發現迴歸問題,Bazel 團隊會將對應的 Cherry-picks 套用至發布候選項目,以修正這些迴歸問題。如果在第一個發布候選版開始的一週後,連續兩個工作天都沒有發現進一步迴歸,就會釋出候選項目。

新功能一經截斷,就不會收錄至候選版。此外,如果新功能較容易出錯,可能會從候選版復原。只有可能會嚴重影響或破壞發布子版本的錯誤,才能在版本遭到截斷後修正。

只有在隔天為工作天推出新版本。

如果最新版本中發現重大問題,Bazel 團隊會將修正內容套用到該版本,以便建立修補程式版本。由於這個修補程式會更新現有版本,而不是建立新的版本,因此候選版本可在兩個工作天後發布。

測試

系統會執行在 ci.bazel.build 上執行的所有專案的夜間建構版本,並使用頭部建構的 Bazel 二進位檔,並發布二進位檔。系統則會通知將受到破壞性變更影響的專案。

發行候選版之後,其他 Google 專案 (例如 TensorFlow) 會使用候選二進位檔在其完整的測試套件中進行測試。如果您有使用 Bazel 的重要專案,建議您建立自動化測試程序來追蹤目前候選版本,並回報所有迴歸問題。