Bazel mempertahankan model rilis Long Term Support (LTS), di mana versi utama dirilis setiap sembilan bulan dan versi minor dirilis setiap bulan. Halaman ini membahas kebijakan rilis Bazel, termasuk kandidat rilis, jadwal, pengumuman, dan pengujian.
Rilis Bazel dapat ditemukan di GitHub.
Kandidat rilis
Kandidat rilis untuk versi baru Bazel biasanya dibuat di awal setiap bulan. Pekerjaan ini dilacak oleh bug rilis di GitHub yang menunjukkan tanggal rilis target, dan ditetapkan ke Pengelola rilis saat ini. Kandidat rilis harus lulus semua pengujian unit Bazel, dan tidak menunjukkan regresi yang tidak diinginkan dalam project yang diuji di Buildkite.
Kandidat rilis diumumkan di bazel-discuss. Selama beberapa hari ke depan, tim Bazel akan memantau laporan bug komunitas untuk mengetahui adanya regresi pada kandidat.
Melepas
Jika tidak ada regresi yang ditemukan, kandidat akan dirilis secara resmi setelah satu minggu. Namun, regresi dapat menunda rilis kandidat rilis. Jika regresi ditemukan, tim Bazel akan menerapkan cherry-pick yang sesuai ke kandidat rilis untuk memperbaiki regresi tersebut. Jika tidak ada regresi lebih lanjut selama dua hari kerja berturut-turut yang dimulai setelah satu minggu sejak kandidat rilis pertama, kandidat tersebut akan dirilis.
Fitur baru tidak dipilih ke dalam kandidat rilis setelah dipotong. Selain itu, jika fitur baru bermasalah, fitur tersebut dapat di-roll back dari kandidat rilis. Hanya bug yang berpotensi berdampak besar atau merusak build rilis yang diperbaiki dalam kandidat rilis setelah dipotong.
Rilis hanya dirilis pada hari yang hari berikutnya adalah hari kerja.
Jika masalah kritis ditemukan dalam rilis terbaru, tim Bazel akan membuat rilis patch dengan menerapkan perbaikan pada rilis tersebut. Karena patch ini mengupdate rilis yang ada, bukan membuat rilis baru, kandidat rilis patch dapat dirilis setelah dua hari kerja.
Pengujian
Build malam semua project yang berjalan di ci.bazel.build dijalankan, menggunakan biner Bazel yang dibuat di head, dan biner rilis. Project yang akan terpengaruh oleh perubahan yang merusak akan diberi tahu.
Saat kandidat rilis dikeluarkan, project Google lainnya seperti TensorFlow diuji pada rangkaian pengujian lengkapnya menggunakan biner kandidat rilis. Jika Anda memiliki project penting yang menggunakan Bazel, sebaiknya buat proses pengujian otomatis yang melacak kandidat rilis saat ini, dan melaporkan regresi apa pun.