Bazel Bakımı Kılavuzları

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

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 şu makaleyi okuyun: Bazel'i seçin.

Bu sayfanın hedefleri şunlardır:

  1. İşveren olarak görev yap projenin katkısıyla ilgili doğru kaynak bahsedeceğim.
  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:

  • 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ı: Harici katkıları teşvik edin, inceleyin ve pull isteklerinden bahsedeceğiz. Ayrıca, geliştirme iş akışımızı daha açık hale getirebileceğimizi düşünüyoruz.

Sürümler

Sürekli Entegrasyon

Yeşil ekip için Bazel'in CI altyapısı hakkındaki rehberi bazelbuild/continuous-integration depodur.

Bir Sorunun Yaşam Döngüsü

  1. Kullanıcı, sorun şablonları ve incelenmemiş açık sorunları hakkında daha fazla bilgi edinin.
  2. Geliştirici Deneyimi (DevEx) alt ekibi rotasyonunun bir üyesi, .
    1. Sorun bir hata veya özellik isteği değilse DevEx üyesi genellikle sorunu kapatır ve kullanıcıyı StackOverflow ve bazel-caption görünür hale getirebilirsiniz.
    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 genellikle kullanıcı doğru reklam öğesini seçmediğinde sorun şablonu {: .external} gibi görünen ya da eksik bilgi veren içerikler.
  3. DevEx üyesi sorunu inceledikten sonra, sorunun gerekli olup olmadığına karar verir. . Bu durumda, P0 öncelikli etiketini ve ekip yöneticileri listesinden bir sahip atar.
  4. DevEx üyesi, untriaged etiketini ve tam olarak bir ekip atar. etiket ekleyin.
  5. DevEx üyesi ayrıca type: bug gibi tam bir type: etiketi atar veya type: feature request seçeneğini belirtin.
  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 önceliğe sahipse ve yeni bir topluluk tarafından üzerinde çalışılabilirse good first issue etiketini DevEx üyesi atar. Bu aşamada sorun, Önceliklendirilmemiş açık alanlar havuzuna girer. sorunları hakkında daha fazla bilgi edinin.

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

Çözüme ulaştırılan sorunlar kapatılabilir.

Push İsteğ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 önceliklendirme 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 birini atayabilir.
  4. Atanan incelemeci PR'yi inceler ve belirlenene kadar yazarla birlikte çalışır. olduğunu görebilirsiniz.
  5. İncelemeci, onaylanırsa Halkla İlişkiler'in taahhütlerini Google'ın dahili sürüm kontrol sistemini kullanıma sunduk. Bazel aynı yapıda olduğu için, kullandığımız tüm halkla ilişkiler (PR) taahhütlerini dahili test paketinden yararlanın. 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.

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

Alt ekiplerin sahip oldukları etiketlerde tüm sorunları önceliklendirmesi gerekir. haftalık olarak düzenlenecek.

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 yeniden öncelik sırasına koyun.
    2. Her sorunun tam olarak bir öncelik etiketine sahip olması gerekir. 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.

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 bu iş için uygun değilseniz kod incelemesi yapmak üzere uygun inceleme uzmanını 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 aktarın ve dahili sayısı.
  7. Dahili yamayı gönderin. Yama başarıyla gönderilir ve dışa aktarılırsa PR GitHub tarafından otomatik olarak kapatılacak.

Öncelik

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

  • P0: Önemli düzeyde bozuk bir Bazel sürümünün (yayınlama adayları çıkarılarak) kullanılmasına neden olan işlevsellik kullanılamaz veya Bazel'in gelişimini ciddi şekilde etkileyen kullanımdan kaldırılmış bir hizmet belirler. Buna, yeni bir sürümde önemli sayıda kullanıcıyı engelleyen gerilemeler veya önemli değişiklik politikasına uygun olmayan uyumsuz bir önemli değişiklik dahildir. Bu sorunun pratik bir çözümü yoktur.
  • P1: Kritik kusur veya veya gelecek sürümde ele alınması gereken ciddi bir sorun ya da birçok kullanıcıyı etkiler (Bazel projesinin geliştirilmesi dahil), ancak bunun pratik bir çözümü olduğu düşünülebilir. Genellikle acil işlem gerektirmez. İçinde mevcut üç aylık dönemlerin yol haritasında planlanmış olmalı.
  • P2: Düzeltilmesi 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 - İstenen küçük hata küçük etkiyle düzeltme veya geliştirme yapar. 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 kusur kapatılma olasılığı düşük olan bir özellik veya özellik isteği gönderin. Daha fazla kullanıcı etkilenirse olası bir yeniden önceliklendirme için açık tutulabilir.
  • buz kutusu
    • Şu anda çözmek için vaktimiz olmayan sorunlar kabul etmeniz gerekir. 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.

Ekip etiketleri

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

Etiketlerin tam listesini burada bulabilirsiniz.