Bazel, uzun süreli destek (LTS) sürüm modelini kullanır. Bu modelde, dokuz ayda bir ana sürüm, aylık olarak da küçük sürümler yayınlanır. Bu sayfada, Bazel sürüm politikası (sürüm adayları, zaman çizelgeleri, duyurular ve testler dahil) açıklanmaktadır.
Bazel sürümlerini GitHub'da bulabilirsiniz.
Sürüm adayları
Yeni bir Bazel sürümünün yayın adayı genellikle her ayın başında oluşturulur. Çalışma, hedef yayın tarihini belirten bir GitHub'daki yayın hatası ile izlenir ve mevcut yayın yöneticisine atanır. Yayın adayları tüm Bazel birim testlerini geçmeli ve Buildkite'ta test edilen projelerde istenmeyen bir gerileme göstermemelidir.
Sürüm adayları bazel-discuss adresinde duyurulur. Bazel ekibi, önümüzdeki günlerde topluluk tarafından gönderilen hata raporlarını inceleyerek adaylarda gerileme olup olmadığını kontrol eder.
Serbest bırakma
Regresyon bulunmazsa aday bir hafta sonra resmi olarak yayınlanır. Ancak gerilemeler, yayın adayının yayınlanmasını geciktirebilir. Regresyonlar bulunursa Bazel ekibi, bu regresyonları düzeltmek için yayın adayına ilgili cherry-pick'leri uygular. İlk yayın adayından bir hafta sonra başlayan iki iş günü boyunca başka gerileme bulunmazsa aday yayınlanır.
Yeni özellikler, yayın adayı oluşturulduktan sonra bu adaya eklenmez. Ayrıca, yeni bir özellik hatalıysa bu özellik yayın adayından geri alınabilir. Yayın adayı oluşturulduktan sonra yalnızca yayın derlemesini büyük ölçüde etkileme veya bozma potansiyeli olan hatalar düzeltilir.
Yayınlar yalnızca ertesi günün iş günü olduğu günlerde yayınlanır.
En son sürümde kritik bir sorun bulunursa Bazel Ekibi, düzeltmeyi sürüme uygulayarak bir yama sürümü oluşturur. Bu yama, yeni bir sürüm oluşturmak yerine mevcut bir sürümü güncellediğinden yama sürümü adayı iki iş günü sonra yayınlanabilir.
Test
ci.bazel.build üzerinde çalışan tüm projelerin gece derlemesi, Bazel'in en son sürümünde oluşturulan ikili dosyalar ve yayın ikili dosyaları kullanılarak çalıştırılır. Önemli bir değişiklikten etkilenecek projeler için bildirim gönderilir.
Yayın adayı yayınlandığında, TensorFlow gibi diğer Google projeleri, yayın adayı ikilileri kullanılarak test paketinin tamamında test edilir. Bazel'in kullanıldığı kritik bir projeniz varsa mevcut yayın adayını izleyen ve gerilemeleri bildiren otomatik bir test süreci oluşturmanızı öneririz.