Bazel 會維護長期支援 (LTS) 版本發布模式,每九個月發布一個主要版本,每月發布一個次要版本。本頁面說明 Bazel 版本政策,包括候選版本、時間表、公告和測試。
您可以在 GitHub 上找到 Bazel 版本。
候選版
新版 Bazel 的候選版本通常會在每個月初建立。這項工作會透過 GitHub 上的發布錯誤追蹤,指出目標發布日期,並指派給目前的發布管理員。候選版本應通過所有 Bazel 單元測試,且在 Buildkite 上測試的專案中不會出現不必要的回歸。
候選版本會在 bazel-discuss 上發布。在接下來的幾天內,Bazel 團隊會監控社群錯誤回報,找出候選版本的任何回歸現象。
釋出
如果沒有發現任何回歸現象,候選版本就會在一週後正式發布。不過,回歸可能會延遲候選版本的發布時間。如果發現回歸現象,Bazel 團隊會將相應的 cherry-pick 套用至候選版本,以修正這些回歸現象。如果在發布候選版本一週後的連續兩個工作天內,沒有發現其他回歸現象,就會發布候選版本。
新功能不會在發布候選版本完成後再挑選加入。此外,如果新功能有錯誤,可能會從候選版本中回溯。只有可能對發布子版本造成重大影響或破壞的錯誤,才會在發布候選版本裁剪後修正。
只有在下一個工作天是工作天的情況下,才會發布版本。
如果在最新版本中發現重大問題,Bazel 團隊會在該版本中套用修正項目,以建立修補版本。由於這個修補程式會更新現有版本,而非建立新版本,因此修補程式候選版本可以在兩個工作天後發布。
測試
使用在 ci.bazel.build 上執行的所有專案的夜間版本,使用在主分支上建構的 Bazel 二進位檔和發布二進位檔。通知會受到重大變更影響的專案。
發布候選版本後,其他 Google 專案 (例如 TensorFlow) 會使用候選版本二進位檔,對完整測試套件進行測試。如果您有使用 Bazel 的重大專案,建議您建立自動化測試程序,追蹤目前的候選版本,並回報任何回歸。