Bazel Bakımı Kılavuzları

Sorun bildirme Kaynağı görüntüleme Nightly · 8.0 . 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

Bu, Bazel açık kaynak projesinin koruyucuları için bir kılavuzdur.

Bazel'e katkıda bulunmak istiyorsanız lütfen Bazel'e katkıda bulunma başlıklı makaleyi okuyun.

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

  1. Projenin katkı süreciyle ilgili olarak, koruyucuların bilgi kaynağı işlevi görür.
  2. Topluluktaki katkıda bulunanlar ile projeyi sürdürenler arasında beklentileri belirleyin.

Bazel'in temel katkıda bulunanlar grubu, açık kaynak projesinin bazı yönlerini yönetmek için özel alt ekiplere sahiptir. Desteklenen biçimler şunlardır:

  • Sürüm süreci: Bazel'in 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ı: Kuruluş dışından katkıları teşvik eder, sorunları ve çekme isteklerini inceler ve geliştirme iş akışımızı daha açık hale getirir.

Sürümler

Sürekli Entegrasyon

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

Sorunların yaşam döngüsü

  1. Kullanıcı, sorun şablonlarından birini seçerek bir sorun oluşturur ve bu sorun, incelenmemiş açık sorunlar havuzuna girer.
  2. Geliştirici Deneyimi (DevEx) alt ekibinin rotasyondaki bir üyesi sorunu inceler.
    1. Sorun bir hata veya özellik isteği değilse DevEx üyesi genellikle sorunu kapatır ve kullanıcıyı, sorunun daha fazla görünür olması için StackOverflow ve bazel-discuss'e yönlendirir.
    2. Sorun, topluluğun sahip olduğu kurallar depolarından birine (ör. rules_apple) aitse DevEx üyesi bu sorunu doğru depoya aktarır.
    3. Sorun belirsizse veya eksik bilgiler varsa DevEx üyesi, devam etmeden önce daha fazla bilgi isteğinde bulunmak için sorunu kullanıcıya geri atar. Bu durum genellikle kullanıcının doğru sorun şablonunu seçmediği veya eksik bilgi sağladığı durumlarda ortaya çıkar.
  3. DevEx üyesi, sorunu inceledikten sonra sorunun hemen ilgilenilmesini gerektirip gerektirmediğine karar verir. Bu durumda, P0 öncelikli etiketini ve ekip yöneticileri listesinden bir sahip atar.
  4. DevEx üyesi, yönlendirme için untriaged etiketini ve tam olarak bir ekip etiketini atar.
  5. DevEx üyesi, sorunun türüne göre tam olarak bir type: etiketi (ör. type: bug veya type: feature request) de 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 yeni bir topluluk katılımcısı tarafından üzerinde çalışılabilirse DevEx üyesi good first issue etiketini atar. Bu aşamada sorun, önceliklendirilmemiş açık sorunlar havuzuna girer.

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

Çözülen sorunlar kapatılabilir.

Pull isteğinin yaşam döngüsü

  1. Kullanıcı bir çekme isteği oluşturur.
  2. Bir Bazel ekibinin üyesiyseniz ve kendi alanınızla ilgili bir PR gönderiyorsanız ekip etiketinizi atamaktan ve en iyi inceleme uzmanını bulmaktan siz sorumlu olursunuz.
  3. Aksi takdirde, günlük önceliklerin belirlenmesi sırasında bir DevEx üyesi, yönlendirme için bir ekip etiketi ve ekibin teknik yöneticisini (TL) atar.
    1. TL isteğe bağlı olarak PR'yi incelemesi için başka bir kullanıcıyı atayabilir.
  4. Atanan inceleme uzmanı, PR'yi inceler ve onaylanana veya reddedilene kadar yazarla birlikte çalışır.
  5. Onaylanırsa inceleme uzmanı, PR'nin taahhütlerini daha fazla test için Google'ın dahili sürüm kontrol sistemine imports. Bazel, Google'da dahili olarak kullanılan derleme sistemiyle aynı olduğundan tüm PR taahhütlerini dahili test paketine göre test etmemiz gerekir. Bu nedenle, PR'leri doğrudan birleştirmeyiz.
  6. İçe aktarılan taahhüt tüm dahili testleri geçerse taahhüt birleştirilir ve GitHub'a geri aktarılır.
  7. Birleştirme işlemi master ile birleştirildiğinde GitHub, PR'yi otomatik olarak kapatır.

Ekibim bir etikete sahip. Ne yapmalıyım?

Alt ekiplerin, kendilerine ait etiketlerdeki tüm sorunları 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. P0 ise sorun DevEx alt ekibi tarafından önceliklendirilmiş olabilir. Gerekirse önceliği yeniden belirleyin.
    2. Her sorunun tam olarak bir öncelik etiketi olmalıdır. P0 veya P1 olarak sınıflandırılan sorunlar üzerinde aktif olarak ç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.

Pull İstekleri

  1. Alma isteklerinin listesini ekip etiketinize göre filtreleyin.
  2. Açık pull isteklerini inceleyin.
    1. İsteğe bağlı: İnceleme için atandıysanız ancak bu iş için uygun değilseniz kod incelemesi yapmak üzere uygun inceleme uzmanını yeniden atayın.
  3. Kod incelemesini tamamlamak için çekme isteği oluşturucuyla birlikte çalışın.
  4. PR'yi onaylayın.
  5. Tüm testlerin geçtiğinden 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 gönderilir ve başarıyla dışa aktarılırsa PR, GitHub tarafından otomatik olarak kapatılır.

Öncelik

Öncelikle ilgili aşağıdaki tanımlar, sorunları önceliklendirmek için bakım ekibi tarafından kullanılır.

  • P0: Bazel sürümünün (sürüm adayları hariç) kullanılamamasına neden olan veya Bazel projesinin geliştirilmesini ciddi şekilde etkileyen önemli bir işlevsellik hatası ya da hizmet kesintisi. Buna, yeni bir sürümde önemli sayıda kullanıcıyı engelleyen gerilemeler veya önemli değişiklik politikasına uygun olmayan uyumsuz önemli değişiklikler dahildir. Bu sorunun pratik bir çözümü yoktur.
  • P1: Sonraki sürümde ele alınması gereken kritik bir kusur veya özellik ya da birçok kullanıcıyı etkileyen ciddi bir sorun (Bazel projesinin geliştirilmesi dahil) ancak pratik bir geçici çözüm mevcut. Genellikle acil işlem gerektirmez. Yüksek talep görüyor ve mevcut çeyreğin yol haritasında planlanıyor.
  • P2: Çözüme kavuşturulması gereken ancak şu anda üzerinde çalışmadığımız bir kusur veya özellik. Yayınlanan bir Bazel sürümünde, kullanıcı için sakıncalı olan ve gelecekteki bir sürümde ele alınması gereken ve/veya kolay bir geçici çözümü olan orta düzeyde canlı sorun.
  • P3: Küçük bir etkisi olan, istenilen küçük bir hata düzeltmesi veya iyileştirme. Bazel yol haritalarında veya yakın zamanda yayınlanacak bir sürümde öncelikli değildir ancak topluluk katkıları teşvik edilir.
  • P4: Düşük öncelikli ve kapatılması olası olmayan bir kusur veya özellik isteği. Daha fazla kullanıcı etkilenirse olası bir yeniden önceliklendirme için açık tutulabilir.
  • buz kutusu
    • Şu anda ele alacağımız veya katkıları kabul edeceğimiz zamanımız olmayan sorunlar. Bu sorunları, üzerinde kimsenin çalışmadığını belirtmek için kapatırız ancak zaman içinde geçerliliklerini izlemeye devam ederiz. Yeterli sayıda kullanıcı etkilenirse ve bu sorunları ele alacak kaynaklara sahip olursak sorunları yeniden etkinleştiririz. Her zaman olduğu gibi, kapatılmış olsa bile bu sorunlara yorum ekleyebilir veya tepki verebilirsiniz.

Takım etiketleri

Yeni sorunlar için category: * etiketlerinin desteği sonlandırıldı ve ekip etiketleri kullanılmaya başlandı.

Etiketlerin tam listesini burada bulabilirsiniz.