Orijinal blogda yayın, Bazel 4.0 ve daha yüksek sürümler iki sürüm kanalı için destek sağlar: periyodik yeni sürümler ve uzun süreli destek (LTS) sürümleri. Bu sayfada en yeni Bazel'ın sürüm modeli hakkında bilgi edinin.
Destek matrisi
LTS sürümü | Destek aşaması | Son sürüm | Destek sonu |
---|---|---|---|
Bazel 8 | Daimi | Kullanıma sunulan sürüm sayfasını kontrol etme | Yok |
Bazel 7 | Etkin | 7.3.0 | Aralık 2026 |
Bazel 6 | Bakım | 6.5.0 | Aralık 2025 |
Bazel 5 | Bakım | 5.4.1 | Ocak 2025 |
Bazel 4 | Kullanımdan kaldırıldı | 4.2.4 | Ocak 2024 |
Tüm Bazel LTS sürümleri sürümde bulunabilir. sayfasını ziyaret edin.
Sürüm oluşturma
Bazel, bir major.minor.patch Semantik Sürüm oluşturma şeması.
- Ana sürüm, önceki sürümlerle uyumlu olmayan özellikler içerir. geri bildirim alırsınız. Her ana Bazel sürümü bir LTS sürümüdür.
- Küçük sürüm, eski sürümlerle uyumlu hata düzeltmeleri ve özellikler içerir ana şubeden geri taşınır.
- Yama sürümü, kritik hata düzeltmelerini içerir.
Ayrıca, yayın öncesi sürümler kısa çizgi ve tarih sonekini bir sonraki ana sürüm numarasına ekleyin.
Örneğin, her türün yeni bir sürümünde aşağıdaki sürüm numaraları elde edilir:
- Birincil: 6.0.0
- Küçük: 6.1.0
- Yama: 6.1.2
- Yayın öncesi: 7.0.0-pre.20230502.1
Destek aşamaları
Her ana Bazel sürümü için dört destek aşaması vardır:
- Yayınlanıyor: Bu ana sürüm hâlâ yayın öncesi aşamada. Bazel ekibi HEAD öğesinden periyodik sürüm yayınlar.
- Etkin: Bu ana sürüm, mevcut etkin LTS sürümüdür. Bazel ekibi önemli özellikleri ve hata düzeltmelerini küçük sürümlere geri aktarıyor.
- Bakım: Bu ana sürüm, bakımda olan eski bir LTS sürümüdür. yatırım yapmanız önemlidir. Bazel ekibi yalnızca güvenlik sorunları ve işletim sistemi uyumluluğu sorunları var.
- Kullanımdan kaldırıldı: Bazel ekibi artık bu büyük dil için destek sağlamıyor tüm kullanıcılar daha yeni Bazel LTS sürümlerine geçmelidir.
Yayın sıklığı
Bazel, iki sürüm kanalı için düzenli olarak sürüm yayınlar.
Periyodik sürümler
- Periyodik sürümler Google Blaze sürümüyle koordine edilir ve yayınlanır her iki haftada bir HEAD adlı feed'den geliyor. Yeni Bazel LTS'nin önizlemesi kullanabilirsiniz.
- Periyodik sürümler uyumlu olmayan değişiklikler gönderebilir. Uyumsuz flag'ler: zarar veren büyük değişiklikler için önerilir, uyumsuz değişiklikleri kullanıma sunar geriye dönük uyumluluk politikasına tabidir.
LTS sürümleri
- Ana sürüm: Yeni bir LTS sürümünün yaklaşık olarak HEAD bölümünden kesilmesi bekleniyor aradaki süre: 12 ay. Yeni bir LTS sürümü çıktığında hemen Aktif kategorisine girer aşamasında ve önceki LTS sürümü Bakım aşamasına geçer.
- Küçük sürüm: Active LTS kanalındaki yeni küçük sürümlerin 2 ayda bir yayınlanacaktır.
- Yama sürümü: Aktif ve LTS sürümlerindeki LTS sürümleri için yeni yama sürümleri Kritik hata olması durumunda bakım aşamalarının isteğe bağlı olarak kullanıma sunulması beklenmektedir gider.
- Bazel LTS sürümü, 2 yıllık bakım aşaması.
Planlanan sürümler için lütfen sürümümüze göz atın. sorun bulabilirsiniz.
Yayın prosedürü ve politikalar
Periyodik sürümler için süreç oldukça basittir: yaklaşık iki haftada bir Google'ın kendi müşteri ürünleriyle aynı temel çizgisine göre yeni bir sürüm oluşturulduğunda Blaze sürümü. Hızlı yayın planından dolayı hiçbir değişikliği geri aktarmayız. kullanıma sunmuş olursunuz.
LTS sürümlerinde aşağıdaki prosedür ve politikalar uygulanır:
- Yayın için temel bir taahhüt belirleyin.
- Yeni bir ana LTS sürümünde referans taahhüt, ana görevin görebilirsiniz.
- Bir küçük sürüm veya yama sürümü için referans kaydetme, aynı LTS sürümünün mevcut en son sürümüne sahip olmalıdır.
- Referans değerden
release-<version>
adında bir sürüm dalı oluşturun. kaydetmez. - Backport, PR'ler aracılığıyla yayın dalına değiştirilir.
- Topluluk, belirli taahhütlerin geri taşınmasını önererek yanıt verebilir.
"
@bazel-io flag
" ilgili GitHub sorunları veya PR'leri üzerinden bunları potansiyel olarak işaretlemek için Bazel ekibi bunları önceliklendiriyor ve bunları test edip etmeyeceklerine kaydetmeleridir. - Yalnızca ana dalda geriye dönük uyumlu kaydetmeler geriye aktarılabilir. birleştirme çakışmalarını çözmek için ek küçük değişiklikler yapılması kabul edilir.
- Topluluk, belirli taahhütlerin geri taşınmasını önererek yanıt verebilir.
"
Bazel sorumluları için Cherry- Pick İsteği Sorunu kullanarak geri bağlantı değişiklikleri.
Bazel sorumluları belirli kayıtların arasından seçim yapmak için istekte bulunabilir bir sürüm dalına gönderilir. Bu süreç, otomatik olarak bir GitHub'da Cherry-pick isteği. Bunu nasıl yapacağınız aşağıda açıklanmıştır.
- Seçerek seçme isteğini açın
- İstek ayrıntılarını girin
- Başlık: İstek için kısa ve açıklayıcı bir başlık girin.
- Kaydetme Kimlikleri: Kaydetmek istediğiniz kaydetmelerin kimliklerini girin tercih edebilirsiniz. Birden fazla kaydetme varsa, bunları virgülle ayırın.
- Kategori: İsteğin kategorisini belirtin.
- İncelemeciler: Birden fazla incelemecinin GitHub'larını birbirinden ayırın Kimlikler virgülle ayrılır.
- Ara hedef belirleyin
- "Ara Hedef"i bulun bölümünü seçin ve ayarı tıklayın.
- Uygun X.Y.Z sürüm engelleyicileri seçin. Bu işlem isteğinizi işlemesi için Cherry-pick bot'unu tetikler "yayın-X.Y.Z" için görebilirsiniz.
- Sorunu Gönder
- Tüm bilgiler girildikten ve ara hedef belirlendikten sonra sorunu gönderin.
Cherry-pick bot, isteği işleme alır ve taahhütlerin satın almaya uygun olup olmadığını kontrol eder. Eğer taahhütlerin kalitesi oldukça yüksek olduğundan taahhütte bulunurken çatışmaları birleştirmeye yeni bir pull isteği oluşturur. Çekme talebin Bazel ekibinin bir üyesi tarafından onaylandığından taahhütler arasından seçilir ve yayın dalıyla birleştirilir. Tamamlanmış bir kiraz seçme isteğinin görsel örneği için: buna atıfta bulunun örnek ,
Sürüm engelleyicileri tespit edip sürüm dalında bulunan sorunları düzeltin.
- Sürüm dalı, aynı test paketi ile postsubmit ve aşağı akış testi ardışık düzeni üzerinde çalışıyorum. Bazel ekibi, sürümün test sonuçlarını izler bulunur ve bulunan regresyonları düzeltir.
Tüm özellikler bilindiğinde sürüm dalından yeni bir sürüm adayı oluşturun ve yayın engelleyiciler giderilmiştir.
- Yayın adayı şu tarihte duyurulacaktır: bazel-tartı, Bazel ekibi, adayla ilgili topluluk hata raporlarını takip ediyor.
- Yeni sürüm engelleyiciler tespit edilirse son adıma dönün ve tüm sorunları giderdikten sonra yeni yayın adayı oluşturun.
- Şu tarihten sonra sürüm dalına yeni özelliklerin eklenmesine izin verilmez: ilk yayın adayı oluşturulduğunda; her zaman kritik öneme sahip yalnızca düzeltmeler için geçerlidir. Vizör topu gerekiyorsa talep sahibi, şu sorular sorulabilir: Bu değişiklik neden kritik? ve faydaları neler sağlar? Bu değişiklikle birlikte yeni bir regresyon nedir?
Başka bir sürüm yayınlanmayacaksa sürüm adayını resmi sürüm olarak aktar engelleyiciler olduğu tespit edildi
- Yama sürümleri için sürümü en az iki iş günü sonra yayınlayın son kişi adayı çıktı.
- Büyük ve küçük sürümler için yayını, son yayın adayı piyasaya sürüldü, ancak bu süre bir haftadan kısa süre içinde adayı serbest bırakmalısınız.
- Yayın, yalnızca ertesi günün iş günü olduğu günde yayınlanır. değer.
- Yayın tarihi şu tarihte duyuruldu: bazel-tartı, Bazel ekibi, yeni Google Cloud Search için topluluk hata raporlarını izler kullanabilirsiniz.
Regresyonları raporlayın
Bir kullanıcı yeni bir Bazel sürümünde regresyon bulursa adayı serbest bırakın veya HEAD konumunda Bazel, lütfen şu adresten hata bildiriminde bulunun: GitHub'a gidin. Tekliflerinizi otomatikleştirmek ve optimize etmek için Bazelisk'in suçlu taahhüdünü parçalara ayırması ve bu bilgiyi hataya eklemesi rapordur.
Örneğin, derlemeniz Bazel 6.1.0 ile başarılı ancak diğer sürümlerin 6.2.0 sürümünü kullanıyorsanız,
bazelisk --bisect=6.1.0..release-6.2.0rc2 build //foo:bar
BAZELISK_SHUTDOWN
veya BAZELISK_CLEAN
ortam değişkenini çalışacak şekilde ayarlayabilirsiniz
derleme durumunu sıfırlamak için ilgili bazel komutlarını
yeniden üretebilirsiniz. Daha fazla bilgi için Bazelisk ile ilgili belgelere göz atın.
bisect özelliğiyle değiştirin.
Bisect'i kullanmak için Bazelisk'i en son sürüme yükseltmeyi unutmayın özelliğini kullanabilirsiniz.
Kural uyumluluğu
Kural yazarıysanız ve farklı standartlarla uyumluluğu korumak istiyorsanız Bazel sürümleri için lütfen Kurala Uyumluluk sayfası.