Bazel Bakımı Kılavuzları

Sorun bildirin Kaynağı göster

Bu kılavuz, Bazel açık kaynak projesinin geliştiricileri için hazırlanmıştır.

Bazel'a katkıda bulunmak istiyorsanız lütfen Bazel'e katkıda bulunma bölümünü okuyun.

Bu sayfanın hedefleri şunlardır:

  1. Projenin katkıda bulunma sürecinde destekleyicilerin bilgi kaynağı işlevi görmek.
  2. Topluluğa katkıda bulunanlar ve proje sorumluları arasında beklentiler oluşturmak.

Bazel'in çekirdek katılımcı grubunda, açık kaynak projesinin çeşitli bölümlerini yönetmek için özel alt ekipler bulunuyor. Desteklenen biçimler şunlardır:

  • Yayınlama İşlemi: Bazel'ın sürüm sürecini yönetin.
  • Yeşil Ekip: Kurallar ve araçlardan oluşan sağlıklı bir ekosistem oluşturun.
  • Geliştirici Deneyimi Bahçıvanları: Şirket dışından katkıları teşvik edin, sorunları ve pull isteklerini inceleyin ve geliştirme iş akışımızı daha açık hale getirin.

Yayınlar

Sürekli Entegrasyon

Yeşil Ekibi'nin bazelbuild/continunuous-integration deposunda Bazel'in CI altyapısı 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 rotasyonundaki bir üye sorunu inceler.
    1. Sorun hata veya özellik isteği değilse DevEx üyesi genellikle sorunu kapatır ve soruyu daha görünür hale getirmek için kullanıcıyı StackOverflow ve bazel-caption'ya yönlendirir.
    2. Sorun, topluluğun sahip olduğu rules_apple gibi kural depolarından birine aitse DevEx üyesi, bu sorunu doğru depoya aktarır.
    3. Sorun muğlaksa veya eksik bilgiler varsa DevEx üyesi, devam etmeden önce daha fazla bilgi istemek için sorunu kullanıcıya geri atar. Bu durum genellikle kullanıcı Sorun Şablonu'nu izlemediğinde ortaya çıkar.
  3. DevEx üyesi sorunu inceledikten sonra, sorunla hemen ilgilenmek gerekip gerekmediğine karar verir. Varsa ekip liderleri listesinden bir sahip ve P0 önceliği etiketi atanır.
  4. DevEx üyesi, yönlendirme için untriaged etiketini ve tam olarak bir ekip etiketi atar.
  5. DevEx üyesi ayrıca sorunun türüne göre type: bug veya type: feature request gibi tam olarak bir type: etiketi atar.
  6. DevEx üyesi, platforma özgü sorunlar için bir platform: etiketi (ör. Mac'e özel sorunlar için platform:apple) atar. Bu aşamada sorun, önceliği belirlenmemiş açık sorunlar havuzuna girer.

Her Bazel alt ekibi, tüm sorunları sahip oldukları etiketler altında, tercihen haftalık olarak önceliklendirecektir. 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.

Bir sorun çözüldüğünde kapatılabilir.

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

  1. Bir kullanıcı, bir pull isteği oluşturur.
  2. Bir Bazel ekibinin üyesiyseniz ve kendi bölgenizde bir PR gönderiyorsanız ekibinize etiketi atamak ve en iyi yorumcuyu bulmaktan siz sorumlu olursunuz.
  3. Aksi takdirde, günlük öncelik belirleme sırasında bir DevEx üyesi, yönlendirme için bir ekip etiketi ve ekibin teknik lideri (TL) atar.
    1. TL, isteğe bağlı olarak halkla ilişkiler incelemesi için başka birini atayabilir.
  4. Atanan incelemeci halkla ilişkiler bölümünü inceler ve yorum onaylanana veya bırakılana kadar yazarla birlikte çalışır.
  5. İnceleme onaylanırsa incelemeci, halkla ilişkiler(PR) kayıtlarını daha ayrıntılı testler yapabilmesi için Google'ın dahili sürüm kontrol sistemine aktarır. Bazel, Google'da dahili olarak kullanılan derleme sistemi olduğundan, tüm halkla ilişkiler (PR) kaydetmelerini dahili test paketiyle test etmemiz gerekir. Bu nedenle halkla ilişkiler departmanını doğrudan birleştirmemekteyiz.
  6. İçe aktarılan kayıt tüm dahili testleri geçerse kayıt sıkıştırılır ve GitHub'a geri aktarılır.
  7. Kayıt ana kopyayla birleştiğinde GitHub, PR'yi otomatik olarak kapatır.

Ekibimin bir plak şirketi var. Ne yapmalıyım?

Alt ekiplerin, tüm sorunları sahip oldukları etiketlerde, tercihen haftalık olarak ö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. Sorun, P0 ise DevEx alt ekibi tarafından önceliklendirilmiş olabilir. Gerekirse yeniden öncelik sırasına koyun.
    2. Her sorunun tam olarak bir öncelik etiketine sahip olması gerekir. P0 ya da P1 sorunu varsa bunun etkin bir şekilde üzerinde çalışıldığını varsayıyoruz.
  4. untriaged etiketini kaldırın.

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

Push İstekleri

  1. Push istekleri listesini ekip etiketinize göre filtreleyin.
  2. Açık pull isteklerini inceleyin.
    1. İsteğe bağlı: İnceleme için atandıysanız ancak inceleme için uygun değilseniz kod incelemesi yapması için uygun incelemeciyi yeniden atayın.
  3. Kod incelemesini tamamlamak için pull isteğini oluşturan kişiyle birlikte çalışın.
  4. PR'yi onaylayın.
  5. Tüm testlerin başarılı olduğundan emin olmak.
  6. Yamayı dahili sürüm kontrol sistemine içe aktarın ve dahili ön gönderimleri ç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

Sorunların önceliğini belirlemek için bakımcılar tarafından aşağıdaki öncelik tanımları kullanılır.

  • P0: Bazel sürümünün (yayınlama adayları eksi) kullanılmasına neden olan önemli, çalışmayan bir işlev veya Bazel projesinin geliştirilmesine önemli ölçüde etki eden çökmüş bir hizmet. Bu durum, yeni bir sürümde eklenen ve önemli sayıda kullanıcıyı engelleyen regresyonları veya Zarar Veren Değişiklik politikasına uygun olmayan uyumsuz bir değişikliği içerir. Pratik bir çözüm yok.
  • P1: Sonraki sürümde ele alınması gereken kritik bir kusur veya özellik ya da Bazel projesinin geliştirilmesi dahil birçok kullanıcıyı etkileyen ciddi bir sorundur ancak pratik bir geçici çözümü mevcuttur. Genellikle hemen işlem yapılması gerekmez. Yüksek talep gören ve mevcut çeyreğin yol haritasına göre planlanan.
  • P2: Giderilmesi gereken ancak şu anda üzerinde çalışmadığımız kusur veya özellik. Yayınlanmış bir Bazel sürümünde orta düzeyde yayın sorunu. Gelecekteki bir sürümde ele alınması gereken kullanıcı için rahatsız edicidir ve/veya kolay bir geçici çözüm mevcuttur.
  • P3: Küçük etkiyle, istenen küçük hata düzeltmesi veya geliştirmesi. Bazel yol haritalarında veya yakında çıkacak sürümlerde öncelik verilmese de topluluk katkıları önerilir.
  • P4: Büyük olasılıkla düşük öncelikli kusur veya özellik isteğidir. Daha fazla kullanıcının etkilenmesi durumunda olası bir yeniden önceliklendirme için de açık tutulabilir.
  • buz kutusu
    • Şu anda uğraşacak vaktimiz olmayan ve katkı kabul etmek için zamanımızın olmadığı sorunlar. Kimsenin üzerinde çalışmadığını belirtmek için bu sorunları kapatacağız ancak zaman içinde doğruluklarını izlemeye devam edecek, yeterli sayıda kişi etkilendiği ve bunlarla başa çıkacak kaynağımız olursa projeleri yeniden canlandıracağız. Her zaman olduğu gibi, bu sorunlar için oturum kapalıyken bile yorum veya tepki ekleyebilirsiniz.

Ekip etiketleri

Yeni sorunlarda category: * etiketlerini kullanımdan kaldırarak ekip etiketlerini kullanmaya başladık.

Etiketlerin tam listesini burada bulabilirsiniz.