Bazel Bakımı Kılavuzları

Bu, Bazel açık kaynak projesinin geliştiricileri için bir rehberdir.

Bazel'e katkıda bulunmak istiyorsanız lütfen bunun yerine Bazel'e Katkıda Bulunma konusunu okuyun.

Bu sayfanın amaçları şunlardır:

  1. Projenin katkı süreciyle ilgili başvuranların başvurabileceği bilgi kaynağı işlevi görür.
  2. Topluluğun katkıda bulunanları ile projenin idarecileri arasında beklentileri belirlemek.

Bazel'in katkıda bulunan çekirdek grubu, açık kaynak projelerinin çeşitli yönlerini yönetmek için özel alt ekiplere sahip. Desteklenen biçimler şunlardır:

  • Yayın Süreci: Bazel'ın sürüm sürecini yönetin.
  • Yeşil Ekip: Kural ve araçlardan oluşan sağlıklı bir ekosistem oluşturun.
  • Geliştirici Deneyimi Bahçıvanları: Harici katkıları teşvik edin, sorunları inceleyin, istekleri çekin ve geliştirme iş akışımızı daha açık hale getirin.

Sürümler

Sürekli Entegrasyon

Yeşil ekibin bazelbuild/continuous-integration deposunda Bazel'in CI altyapısıyla ilgili kılavuzunu okuyun.

Bir Sorunun Yaşam Döngüsü

  1. Bir kullanıcı, Sorun Şablonu'nu kullanarak bir sorun oluşturur ve incelenmemiş açık sorunlar havuzuna girer.
  2. Geliştirici Deneyimi (DevEx) alt ekip rotasyonundan bir üye, sorunu inceler.
    1. Sorun bir hata veya özellik isteği değilse DevEx üyesi genellikle sorunu kapatır ve sorunun daha görünür olması için kullanıcıyı StackOverflow ve bazel-survey'e yönlendirir.
    2. Sorun, topluluğun sahip olduğu kural depolarından birine (ör. rules_apple) aitse DevEx üyesi bu sorunu doğru depoya aktarır.
    3. Sorun belirsizse ya da eksik bilgi içeriyorsa DevEx üyesi, devam etmeden önce daha fazla bilgi istemek için sorunu tekrar kullanıcıya atar. Bu durum genellikle kullanıcı Sorun Şablonu'na uymadığında ortaya çıkar.
  3. DevEx üyesi sorunu inceledikten sonra, sorunla hemen ilgilenmeniz gerekip gerekmediğine karar verir. Böyle bir durumda, P0 öncelik etiketini ve ekip liderleri listesinden bir sahip atar.
  4. DevEx üyesi, yönlendirme için untriaged etiketi ve tam olarak bir ekip etiketi atar.
  5. DevEx üyesi ayrıca, sorunun türüne göre tam olarak bir type: etiketi (ör. type: bug veya type: feature request) atar.
  6. Platforma özgü sorunlar için DevEx üyesi bir platform: etiketi atar (ör. Mac'e özgü sorunlar için platform:apple). Bu aşamada, sorun önceliklendirilmemiş açık sorunlar havuzuna girer.

Her Bazel alt ekibi, tercihen haftalık olarak, tüm sorunları sahip oldukları etiketler altında önceliklendirir. Alt ekip, sorunu inceleyip değerlendirir ve mümkünse bir çözüm sunar. Bir ekip etiketinin sahibiyseniz daha fazla bilgi için bu bölüme bakın.

Çözülen sorunlar kapatılabilir.

Çekme İsteğinin Yaşam Döngüsü

  1. Kullanıcı bir pull isteği oluşturur.
  2. Bir Bazel ekibinin üyesiyseniz ve kendi bölgenize yönelik bir halkla ilişkiler gönderiyorsanız ekip etiketinizi atamak ve en iyi inceleyeni bulmak sizin sorumluluğunuzdadır.
  3. Aksi takdirde, günlük öncelik belirleme sırasında bir DevEx üyesi, yönlendirme için bir ekip etiketi ve ekibin teknik liderine (TL) atar.
    1. TL, isteğe bağlı olarak başka bir kişiyi PR'yi incelemesini atayabilir.
  4. Atanan incelemeci, halkla ilişkiler (PR) incelemesini yapar ve onaylanana veya bırakılana kadar yazarla birlikte çalışır.
  5. İstek onaylanırsa daha ayrıntılı testler için PR kaydetmelerini Google'ın dahili sürüm kontrol sistemine aktarır. Bazel, Google'da şirket içinde kullanılan derleme sistemiyle aynı olduğundan, tüm PR kaydetme işlemlerini dahili test paketiyle karşılaştırarak test etmemiz gerekir. Halkla ilişkiler gruplarını doğrudan birleştirmemizin nedeni budur.
  6. İçe aktarılan kaydetme tüm dahili testleri geçerse kayıt sıkıştırılır ve GitHub'a geri aktarılır.
  7. Kaydetme, ana slaytla birleştiğinde GitHub, PR'yi otomatik olarak kapatır.

Ekibimin bir plak şirketi var. What should I do?

Alt ekiplerin, tercihen haftalık olarak sahip oldukları etiketlerdeki tüm sorunları önceliklendirmesi gerekir.

Sorunlar

  1. Sorun listesini ekip etiketinize ve untriaged etiketine göre filtreleyin.
  2. Sorunu inceleyin.
  3. Bir öncelik düzeyi belirleyin ve etiketi atayın.
    1. P0 ise soruna DevEx alt ekibi tarafından öncelik verilmiş olabilir. Gerekiyorsa önceliklerinizi yeniden belirleyin.
    2. Her sorunun tam olarak bir öncelik etiketi olması gerekir. Sorun P0 ya da P1 ise bu sorun üzerinde aktif olarak çalışıldığını varsayarız.
  4. untriaged etiketini kaldırın.

Etiket eklemek veya kaldırmak için bazelbuild kuruluşunda olmanız gerektiğini unutmayın.

Pull İstekleri

  1. Pull istekleri listesini ekip etiketinize göre filtreleyin.
  2. Open Pull isteklerini inceleyin.
    1. İsteğe bağlı: İnceleme için atandıysanız ancak sizin için uygun değilseniz kod incelemesi yapmak üzere uygun incelemeciyi yeniden atayın.
  3. Kod incelemesini tamamlamak için çekme isteğini oluşturan kullanıcıyla birlikte çalışın.
  4. PR'yi onaylayın.
  5. Tüm testlerin başarılı olduğundan emin olun.
  6. Yamayı dahili sürüm denetimi sistemine aktarın ve dahili ön göndermeleri çalıştırın.
  7. Dahili yamayı gönderin. Yama başarıyla gönderilir ve dışa aktarılırsa PR, GitHub tarafından otomatik olarak kapatılır.

Öncelik

Aşağıdaki öncelik tanımları, bakım sorumluları tarafından sorunları önceliklendirmek için kullanılacaktır.

  • P0: Bir Bazel sürümünün (yayınlama adaylarının çıkarıldığı gibi) kullanılamaz hale gelmesine neden olan önemli bozuk işlevler veya Bazel projesinin geliştirilmesini ciddi şekilde etkileyen, arızalı bir hizmet. Buna, yeni bir sürümde kullanıma sunulan ve önemli sayıda kullanıcıyı engelleyen regresyonlar veya Kırıcı Değişim politikasına uygun olmayan uyumsuz bir zarar verme değişikliği dahildir. Pratik bir çözüm yoktur.
  • P1: Bir sonraki sürümde ele alınması gereken kritik bir hata veya özellik ya da (Bazel projesinin geliştirilmesi de dahil) çok sayıda kullanıcıyı etkileyen ciddi bir sorun ancak pratik bir geçici çözüm mevcut. Genellikle hemen işlem gerektirmez. Talebin yüksek olması ve mevcut çeyreğin yol haritasında planlanması.
  • P2: İlgilenilmesi gereken ancak şu anda üzerinde çalışmadığımız bir kusur veya özellik. Yayınlanmış bir Bazel sürümünde oluşan orta düzey yayın sorunu, kullanıcının sonraki bir sürümde düzeltilmesi gereken ve/veya kolay bir geçici çözümü olan kullanıcı için rahatsız edicidir.
  • P3: Küçük etkiye sahip, istenen küçük hata düzeltmesi veya geliştirmedir. Bazel yol haritalarında veya yaklaşan yayınlarda önceliklendirilmez ancak topluluk katkıları teşvik edilir.
  • P4: Kapatılması pek olası olmayan düşük öncelikli kusur veya özellik isteği. Sorundan daha fazla kullanıcı etkilenirse olası bir yeniden önceliklendirme için de açık tutulabilir.
  • buz kutusu
    • Şu anda neyle uğraşacak ne de katkıları kabul edecek vaktimiz olmayan sorunlar. Hiç kimsenin üzerinde çalışmadığını belirtmek için bu sorunları kapatacağız ancak zaman içinde bunların geçerliliğini izlemeye devam edeceğiz. Yeterli sayıda kişi etkilenirse ve bunlarla başa çıkacak kaynaklarımız olursa bunları tekrar hayata geçireceğiz. Her zaman olduğu gibi, yorumlar kapalıyken bile bu sorunlarla ilgili yorum yapmaktan veya yorum eklemekten çekinmeyin.

Ekip etiketleri

Yeni sorunlarda category: * etiketlerini kullanımdan kaldırıp yerine ekip etiketlerini getirdik.

Etiketlerin tam listesini burada bulabilirsiniz.