Kebijakan Rilis

Bazel mempertahankan model rilis Dukungan Jangka Panjang (LTS), dengan versi utama dirilis setiap sembilan bulan dan versi minor dirilis setiap bulan. Halaman ini membahas kebijakan rilis Bazel, termasuk kandidat rilis, linimasa, pengumuman, dan pengujian.

Rilis Bazel dapat ditemukan di GitHub.

Kandidat rilis

Kandidat rilis untuk Bazel versi baru biasanya dibuat di awal setiap bulan. Pekerjaan ini dilacak oleh bug rilis di GitHub yang menunjukkan target tanggal rilis, dan ditetapkan ke Pengelola rilis saat ini. Kandidat rilis harus lulus semua pengujian unit Bazel, dan tidak menampilkan regresi yang tidak diinginkan dalam project yang diuji di Buildkite.

Kandidat rilis diumumkan di bazel-discuss. Selama beberapa hari berikutnya, tim Bazel akan memantau laporan bug komunitas untuk menemukan regresi pada kandidat.

Merilis

Jika tidak ditemukan regresi, kandidat akan resmi dirilis setelah satu minggu. Namun, regresi dapat menunda rilis kandidat rilis. Jika ditemukan regresi, tim Bazel akan menerapkan pilihan sakura yang sesuai pada kandidat rilis untuk memperbaiki regresi tersebut. Jika tidak ditemukan 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 sebagai kandidat rilis setelah dipilih. Selain itu, jika fitur baru memiliki bug, fitur tersebut dapat di-roll back dari kandidat rilis. Hanya bug yang berpotensi berdampak tinggi atau merusak build rilis yang akan diperbaiki pada kandidat rilis setelah dipotong.

Rilis hanya dirilis pada hari saat 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 sudah ada, bukan membuat rilis baru, kandidat rilis patch dapat dirilis setelah dua hari kerja.

Pengujian

Build semalam untuk semua project yang berjalan di ci.bazel.build akan dijalankan, menggunakan biner Bazel yang di-build di head, dan biner rilis. Project yang akan terkena dampak perubahan yang dapat menyebabkan gangguan akan diberi tahu.

Saat kandidat rilis dikeluarkan, project Google lainnya seperti TensorFlow akan 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 laporkan jika ada regresi.