Bazel Bakımı Kılavuzları

Sorun bildirin Kaynağı göster

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

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

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

  1. Projeye katkı sağlama süreciyle ilgili bilgi kaynağı işlevi görürler.
  2. Topluluğun katkıda bulunanları ile projeyi yürütenler arasında beklentilerinizi belirleyin.

Bazel'ın katkıda bulunan çekirdek grubu, açık kaynak projesinin çeşitli yönlerini yönetmek için özel alt ekipler oluşturmuştur. Desteklenen biçimler şunlardır:

  • Yayın Süreci: Bazel'ın sürüm yayınlama 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ı gözden geçirin, istekleri çekin ve geliştirme iş akışımızı daha açık hale getirin.

Sürümler

Sürekli Entegrasyon

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

Bir Sorunun Yaşam Döngüsü

  1. Bir kullanıcı, sorun şablonlarından birini seçerek bir sorun oluşturur ve incelenmeyen açık sorunlar havuzuna girer.
  2. Geliştirici Deneyimi (DevEx) alt ekip rotasyonunun bir üyesi, sorunu inceler.
    1. Sorun hata veya özellik isteği değilse DevEx üyesi genellikle sorunu kapatır ve sorunun daha iyi görülebilmesi için kullanıcıyı StackOverflow ve bazel-survey'a yönlendirir.
    2. Sorun, topluluğun sahip olduğu kural depolarından birinde (ör. rules_apple) aitse DevEx üyesi bu sorunu doğru depoya aktarır.
    3. Sorun belirsizse veya eksik bilgiler içeriyorsa DevEx üyesi, devam etmeden önce daha fazla bilgi istemek için sorunu kullanıcıya atar. Bu durum genellikle kullanıcı doğru sorun şablonunu {: .external} seçmediğinde veya eksik bilgi sağladığında ortaya çıkar.
  3. DevEx üyesi sorunu inceledikten sonra, sorunla hemen ilgilenmeniz gerekip gerekmediğine karar verir. Uygunsa P0 önceliği etiketi ve ekip liderleri listesinden bir sahip 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 tam olarak bir type: etiketi (ör. type: bug veya type: feature request) atar.
  6. DevEx üyesi, platforma özgü sorunlar için bir platform: etiketi atar (ör. Mac'e özgü sorunlar için platform:apple).
  7. Sorun düşük öncelikliyse ve topluluğa katkıda bulunan yeni bir kullanıcı tarafından üzerinde çalışılabilecekse DevEx üyesi good first issue etiketini atar. Bu aşamada sorun, önceliklendirilmemiş açık sorunlar havuzuna girer.

Her Bazel alt ekibi, tercihen haftalık olarak, sahip oldukları etiketlere göre tüm sorunları ö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ği Yaşam Döngüsü

  1. Kullanıcı bir pull isteği oluşturur.
  2. Bir Bazel ekibinin üyesi olarak kendi bölgenize yönelik bir halkla ilişkiler gönderiyorsanız ekip etiketini atamak ve en iyi inceleyeni bulmak sizin sorumluluğunuzdadır.
  3. Aksi takdirde, günlük öncelik 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 görevini incelemesi için başka birini atayabilir.
  4. Atanan incelemeci, tanıtım metnini inceler ve reklam onaylanana veya kaldırılana kadar yazarla birlikte çalışır.
  5. Onaylanırsa incelemeci, daha fazla test için PR kaydetmelerini Google'ın dahili sürüm kontrol sistemine aktarır. Bazel, Google'da şirket içinde kullanılan derleme sistemi olduğundan, tüm PR kaydetmelerini dahili test paketiyle karşılaştırarak test etmemiz gerekir. Halkla ilişkiler departmanı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 işlemi ana slaytta birleştiğinde GitHub, PR'yi otomatik olarak kapatır.

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

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

Sorunlar

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

Etiket ekleyip kaldırabilmek için bazelbuild kuruluşunda olmanız gerektiğini unutmayın.

Pull İstekleri

  1. Pull 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 sizin için uygun değilse kod incelemesi gerçekleştirmek üzere uygun incelemeciyi yeniden atayın.
  3. Kod incelemesini tamamlamak için pull 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 kontrol sistemine 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

Bakım görevlileri, sorunları önceliklendirmek için aşağıdaki öncelik tanımlarını kullanacaktır.

  • P0: Bir Bazel sürümünün (yayınlanma adayları çıkarıldığında) kullanılamaz olmasına veya Bazel projesinin geliştirilmesini ciddi şekilde etkileyen, arızalı bir hizmetin olmamasına neden olan önemli bozuk işlevsellik. Bu, yeni bir sürümde kullanıma sunulan ve önemli sayıda kullanıcıyı engelleyen regresyonları veya Kızaran Değişiklik politikasına uygun olmayan uyumsuz bir zarar değişikliği içerir. Pratik bir çözüm yoktur.
  • P1 - Bir sonraki sürümde ele alınması gereken kritik bir hata veya özellik ya da çok sayıda kullanıcıyı etkileyen ciddi bir sorun (Bazel projesinin geliştirilmesi de dahil) ancak pratik bir geçici çözüm bulunmaktadır. Genellikle hemen işlem yapılması gerekmez. Talebin yüksek olması ve mevcut çeyreğin yol haritasında planlanması.
  • P2 - Ele alınması gereken ancak şu anda üzerinde çalışmadığımız kusur veya özellik. Yayınlanmış bir Bazel sürümünde bulunan orta düzey yayın sorunu, gelecekteki bir sürümde çözülmesi gereken ve/veya kolay bir çözüm bulunması gereken kullanıcılar için elverişsiz bir durumdur.
  • P3: Küçük etkiye sahip, istenen küçük hata düzeltmesi veya geliştirmedir. Bazel yol haritaları veya yaklaşan yayınlar için öncelik verilmemiş olsa da topluluk katkıları teşvik edilmektedir.
  • P4 - Düşük öncelikli kusur veya kapatılma olasılığı düşük özellik isteği. Daha fazla kullanıcı etkilenirse olası bir yeniden önceliklendirme için açık tutulabilir.
  • buz kutusu
    • Şu anda ilgilenmemize veya katkıları kabul etmeye vaktimiz olmayan sorunlar. Kimsenin bunlar üzerinde çalışmadığını belirtmek için bu sorunları kapatacağız. Ancak zaman içinde bunların geçerliliğini izlemeye devam edecek, yeterli sayıda insan etkilenirse ve bunlarla başa çıkacak kaynaklarımız olursa bunları yeniden etkinleştireceğiz. Her zaman olduğu gibi, sorunlar kapalıyken bile yorum yapmaktan veya bunlara tepki eklemekten çekinmeyin.

Ekip etiketleri

Yeni sorunlar için category: * etiketlerini kullanımdan kaldırdık ve bunların yerini ekip etiketleri aldı.

Etiketlerin tam listesini burada görebilirsiniz.