Pembuatan Versi Rilis

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 mundur 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 dari setiap jenis akan menghasilkan nomor versi berikut:

  • Utama: 4.0
  • Minor: 3.6
  • Patch: 3.5.2

Siklus rilis Bazel

Bazel terus memublikasikan rilis berkelanjutan. 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 ini menunjukkan rilis berkelanjutan dan LTS, serta dukungan yang diharapkan untuk setiap rilis.

Roadmap

Gambar 1. Rilis berkelanjutan dan LTS.

Cabang rilis

Setiap versi utama menjadi cabang pengembangan terpisah saat rilis. 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 rilis. Versi utama dirilis kira-kira setiap sembilan bulan.

Pengembangan berkelanjutan di cabang rilis menghasilkan versi minor.

Anda dapat memilih untuk menyematkan project ke rilis utama dan mengupdate ke versi yang lebih baru pada waktu Anda sendiri. Hal ini memberi Anda waktu untuk melihat pratinjau perubahan mendatang dan beradaptasi dengan perubahan tersebut terlebih dahulu.

Rilis berkelanjutan

Rilis berkelanjutan dipotong secara berkala dari cabang utama Bazel. Irama rilis ini melibatkan pengiriman berkelanjutan rilis pratinjau dari versi Bazel utama berikutnya, yang disinkronkan dengan rilis Blaze internal Google.

Perhatikan bahwa rilis berkelanjutan baru dapat berisi perubahan yang dapat menyebabkan gangguan dan tidak kompatibel dengan rilis sebelumnya.

Rilis berkelanjutan diuji pada rangkaian pengujian Bazel di Bazel CI dan rangkaian pengujian internal Google. Flag yang tidak kompatibel dapat digunakan untuk mengurangi beban migrasi ke fungsi baru, tetapi perilaku default dapat berubah dengan rilis berkelanjutan apa pun. (Anda juga dapat menggunakan rilis berkelanjutan untuk melihat pratinjau versi LTS berikutnya. Misalnya, 5.0.0-pre.20210604.6 didasarkan pada pemotongan kandidat pada 2021-06-04 dan mewakili pencapaian menuju rilis LTS 5.0.)

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 “berkelanjutan”, yang menggunakan rilis berkelanjutan terbaru. Untuk mengetahui detail selengkapnya, lihat dokumentasi Bazelisk.

Memperbarui versi

  • Untuk mengetahui informasi selengkapnya tentang cara memperbarui versi Bazel, lihat Memperbarui Bazel.
  • Untuk mengetahui informasi selengkapnya tentang cara berkontribusi dalam memperbarui rilis Bazel baru, lihat Berkontribusi ke Bazel.