Bazel 4.0 dan yang lebih tinggi memberikan dukungan untuk dua jalur rilis: rilis dukungan jangka panjang (LTS) dan rilis rolling. Halaman ini membahas pembuatan versi di Bazel, jenis rilis, dan manfaat rilis tersebut bagi pengguna dan kontributor Bazel.
Memahami pembuatan versi di Bazel
Bazel menggunakan skema pembuatan versi semantik major.minor.patch.
- Rilis utama berisi fitur yang tidak kompatibel dengan versi sebelumnya.
- Rilis minor berisi fitur baru yang kompatibel dengan versi sebelumnya.
- Rilis patch berisi perubahan kecil dan perbaikan bug.
Dengan menggunakan versi 3.5.1 sebagai contoh, rilis baru dari setiap jenis akan menghasilkan nomor versi berikut:
- Utama: 4.0
- Ringan: 3,6
- Patch: 3.5.2
Siklus rilis Bazel
Bazel terus memublikasikan rilis rolling. Setiap versi utama adalah rilis LTS. Anda dapat memilih untuk mengikuti ritme rilis - mengupdate dari satu rilis LTS ke rilis berikutnya, atau mengupdate dengan setiap rilis versi minor.
Gambar menunjukkan rilis rolling dan LTS, serta dukungan yang diharapkan untuk masing-masing.
Gambar 1. Rilis rolling dan LTS.
Cabang rilis
Setiap versi utama menjadi cabang pengembangan terpisah saat dirilis. Anda dapat menerima perbaikan untuk bug kritis di cabang tersebut tanpa harus mengupdate ke rilis Bazel di head. Fitur tambahan di cabang versi utama Anda menjadi rilis minor dan versi tertinggi di cabang adalah versi yang didukung.
Setiap rilis Bazel disambungkan dengan daftar versi aturan yang direkomendasikan yang berfungsi bersama dan ada kompatibilitas mundur yang ketat dalam setiap cabang.
Rilis LTS
Rilis LTS adalah versi utama (seperti, 4.0) yang didukung selama 3 tahun setelah dirilis. Versi utama dirilis kira-kira setiap sembilan bulan.
Pengembangan yang sedang berlangsung di cabang rilis menghasilkan versi minor.
Anda dapat memilih untuk menyematkan project ke rilis utama dan mengupdate ke versi yang lebih baru sesuai keinginan Anda. Hal ini memberi Anda waktu untuk melihat pratinjau perubahan mendatang dan beradaptasi dengan perubahan tersebut terlebih dahulu.
Rilis berkelanjutan
Rilis rolling dipotong secara berkala dari cabang utama Bazel. Ritme rilis ini melibatkan pengiriman berkelanjutan rilis pratinjau versi Bazel utama berikutnya, yang disinkronkan dengan rilis Blaze internal Google.
Perhatikan bahwa rilis rolling baru dapat berisi perubahan yang dapat menyebabkan gangguan yang tidak kompatibel dengan rilis sebelumnya.
Rilis rolling diuji pada rangkaian pengujian Bazel di Bazel CI dan
rangkaian pengujian internal Google. Flag yang tidak kompatibel dapat
digunakan untuk meringankan beban migrasi ke fungsi baru, tetapi perilaku default
dapat berubah dengan setiap rilis rolling. (Anda juga dapat menggunakan rilis rolling untuk
melihat pratinjau versi LTS berikutnya. Misalnya, 5.0.0-pre.20210604.6
didasarkan pada
potongan kandidat pada 04-06-2021 dan mewakili tonggak pencapaian menuju rilis LTS
5.0.)
Anda dapat mendownload rilis rolling terbaru dari GitHub. Atau, Anda dapat menyiapkan Bazelisk v1.9.0 (atau yang lebih baru) untuk menggunakan nama versi tertentu atau ID “rolling”, yang menggunakan rilis rolling terbaru. Untuk mengetahui detail selengkapnya, lihat dokumentasi Bazelisk.
Memperbarui versi
- Untuk informasi selengkapnya tentang cara mengupdate versi Bazel, lihat Memperbarui Bazel.
- Untuk informasi selengkapnya tentang cara berkontribusi pada update untuk rilis Bazel baru, lihat Berkontribusi pada Bazel.