Bazel 4.0 dan yang lebih tinggi memberikan dukungan untuk dua jalur rilis: rilis dukungan jangka panjang (LTS) dan rilis berkelanjutan. 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 rilis sebelumnya.
- Rilis minor berisi fitur baru yang kompatibel mundur.
- Rilis patch berisi perubahan kecil dan perbaikan bug.
Dengan menggunakan versi 3.5.1 sebagai contoh, rilis baru setiap jenis akan menghasilkan nomor versi berikut:
- Parah: 4.0
- Ringan: 3,6
- Patch: 3.5.2
Siklus rilis Bazel
Bazel terus memublikasikan rilis bergulir. Setiap versi utama adalah rilis LTS. Anda dapat memilih untuk mengikuti irama rilis - mengupdate dari satu rilis LTS ke rilis LTS berikutnya, atau mengupdate dengan setiap rilis versi minor.
Gambar menampilkan rilis berkelanjutan dan LTS, serta dukungan yang diharapkan untuk setiap rilis.
Gambar 1. Rilis rolling dan LTS.
Cabang rilis
Setiap versi utama menjadi cabang pengembangan terpisah saat dirilis. Anda dapat menerima perbaikan untuk bug penting 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 tersebut adalah versi yang didukung.
Setiap rilis Bazel dipasangkan 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 rilisnya. Versi utama dirilis kira-kira setiap sembilan bulan.
Pengembangan berkelanjutan pada cabang rilis menghasilkan versi minor.
Anda dapat memilih untuk menyematkan project ke rilis utama dan mengupdate ke versi yang lebih baru kapan saja. Dengan begitu, Anda memiliki waktu untuk melihat pratinjau perubahan mendatang dan menyesuaikannya terlebih dahulu.
Rilis berkelanjutan
Rilis bertahap dipotong secara berkala dari cabang utama Bazel. Ritme rilis ini melibatkan pengiriman berkelanjutan rilis pratinjau versi utama Bazel berikutnya, yang disinkronkan dengan rilis Blaze internal Google.
Perhatikan bahwa rilis bertahap baru dapat berisi perubahan yang dapat menyebabkan gangguan dan tidak kompatibel dengan rilis sebelumnya.
Rilis bertahap diuji di rangkaian pengujian Bazel di Bazel CI dan rangkaian pengujian internal Google. Flag yang tidak kompatibel dapat digunakan untuk mempermudah migrasi ke fungsi baru, tetapi perilaku default dapat berubah dengan rilis bertahap apa pun. (Anda juga dapat menggunakan rilis bergulir untuk melihat pratinjau versi LTS berikutnya. Misalnya, 5.0.0-pre.20210604.6
didasarkan pada
pemotongan kandidat pada 04-06-2021 dan mewakili pencapaian menuju rilis 5.0 LTS.)
Anda dapat mendownload rilis berkelanjutan 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 mengetahui informasi selengkapnya tentang cara mengupdate versi Bazel, lihat Mengupdate Bazel.
- Untuk mengetahui informasi selengkapnya tentang memberikan kontribusi update ke rilis Bazel baru, lihat Memberikan kontribusi ke Bazel.