Bazel は長期サポート(LTS)リリース モデルを維持しています。メジャー バージョンは 9 か月ごとにリリースされ、マイナー バージョンは毎月リリースされます。このページでは、リリース候補版、タイムライン、お知らせ、テストなど、Bazel のリリース ポリシーについて説明します。
Bazel のリリースは GitHub で確認できます。
リリース候補版
通常、Bazel の新しいバージョンのリリース候補版は毎月初めに作成されます。作業は、目標リリース日を示す GitHub のリリースバグで追跡され、現在のリリース マネージャーに割り当てられます。リリース候補版は、すべての Bazel 単体テストに合格し、Buildkite でテストされたプロジェクトで望ましくないリグレッションがないことを確認する必要があります。
リリース候補版は bazel-discuss で発表されます。今後数日間、Bazel チームは候補の回帰がないかどうか、コミュニティのバグレポートをモニタリングします。
リリース
リグレッションが検出されなかった場合、候補は 1 週間後に正式にリリースされます。ただし、リグレッションが発生すると、リリース候補版のリリースが遅れる可能性があります。リグレッションが見つかった場合、Bazel チームは、対応するチェリーピックをリリース候補版に適用して、リグレッションを修正します。最初のリリース候補版から 1 週間後から 2 営業日連続で、それ以上のリグレッションが見つからなければ、候補版がリリースされます。
リリース候補版のカット後に、新機能が選抜されてリリース候補版に追加されることはありません。また、新しい機能にバグがある場合は、リリース候補版からその機能がロールバックされることがあります。リリースビルドに大きな影響を与えたり、破損させたりする可能性のあるバグのみが、リリース候補版のカット後に修正されます。
リリースは、翌日が営業日である日にのみ行われます。
最新リリースで重大な問題が見つかった場合、Bazel チームは修正をリリースに適用してパッチ リリースを作成します。このパッチは新しいリリースを作成するのではなく、既存のリリースを更新するため、パッチ リリース候補は 2 営業日後にリリースできます。
テスト
ci.bazel.build で実行されているすべてのプロジェクトのナイトリービルドが、ヘッドでビルドされた Bazel バイナリとリリース バイナリを使用して実行されます。破壊的変更の影響を受けるプロジェクトに通知されます。
リリース候補版がリリースされると、TensorFlow などの他の Google プロジェクトは、リリース候補版バイナリを使用して完全なテストスイートでテストされます。Bazel を使用している重要なプロジェクトがある場合は、現在のリリース候補版を追跡し、リグレッションを報告する自動テスト プロセスを確立することをおすすめします。