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 amaçları şunlardır:
- Projenin katkı süreciyle ilgili olarak, koruyucuların bilgi kaynağı işlevi görür.
- 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ı: 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 için Bazel'in CI altyapısı hakkındaki rehberi bazelbuild/continuous-integration depodur.
Sorunların yaşam döngüsü
- Bir kullanıcı, Sorun Şablon ve incelenmemiş açık sorunları hakkında daha fazla bilgi edinin.
- Geliştirici Deneyimi (DevEx) alt ekibinin rotasyondaki bir üyesi sorunu inceler.
- 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.
- Sorun, rules_apple gibi, DevEx üyesi bu sorunu aktarır gönderir.
- Sorun muğlaksa veya eksik bilgiler varsa DevEx üyesi daha fazla bilgi istemek için sorunu kullanıcıya geri atayın devam ediyor. Bu durum genellikle kullanıcı Sorun Şablon.
- DevEx üyesi sorunu inceledikten sonra, sorunun gerekli olup olmadığına karar verir. . Roller aynıysa P0'ı atarlar. öncelik etiketi ve ekip potansiyel müşterileri listesinden bir sahip.
- DevEx üyesi,
untriaged
etiketini ve tam olarak bir ekip atar. etiket ekleyin. - DevEx üyesi ayrıca
type: bug
gibi tam birtype:
etiketi atar veyatype: feature request
seçeneğini belirtin. - DevEx üyesi, platforma özgü sorunlar için bir
platform:
etiketi atar. örneğin, Mac'e özgü sorunlar içinplatform:apple
gibi. 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 mümkünse bir çözüm sunar. Bir ekip etiketinin sahibiyseniz bu bölüme bakın başlıklı makaleyi okuyabilirsiniz.
Bir sorun çözüldüğünde kapatılabilir.
Pull isteğinin yaşam döngüsü
- Kullanıcı bir çekme isteği oluşturur.
- 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.
- Aksi takdirde, günlük öncelik belirleme sırasında bir DevEx üyesi,
ekip etiketi ve yönlendirme için ekibin teknik lideri (TL).
- TL isteğe bağlı olarak PR'yi incelemesi için başka birini atayabilir.
- Atanan inceleme uzmanı, PR'yi inceler ve onaylanana veya reddedilene kadar yazarla birlikte çalışır.
- İ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 halkla ilişkiler ekibini doğrudan birleştirmemekteyiz.
- İç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.
- Kayıt ana kopyayla birleştiğinde GitHub, PR'yi otomatik olarak kapatır.
Ekibim bir etikete sahip. Ne yapmalıyım?
Alt ekiplerin sahip oldukları etiketlerde tüm sorunları önceliklendirmesi gerekir. haftalık olarak düzenlenecek.
Sorunlar
- Sorun listesini ekip etiketinize ve
untriaged
etiketine göre filtreleyin. - Sorunu inceleyin.
- Bir öncelik düzeyi belirleyin ve etiketi atayın.
- P0 ise sorun DevEx alt ekibi tarafından önceliklendirilmiş olabilir. Gerekirse yeniden öncelik sırasına koyun.
- Her sorunun tam olarak bir öncelik etiketi olmalıdır. Bir P0 ya da P1 olduğunu varsaydığımızdan emin olun.
untriaged
etiketini kaldırın.
Bunun için bazelbuild altında kuruluşuna etiket eklenmesi veya kaldırılması gerekir.
Pull İstekleri
- Alma isteklerinin listesini ekip etiketinize göre filtreleyin.
- Açık pull isteklerini inceleyin.
- İ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.
- Kod incelemesini tamamlamak için çekme isteği oluşturucuyla birlikte çalışın.
- PR'yi onaylayın.
- Tüm testlerin başarılı olduğundan emin olmak.
- Yamayı dahili sürüm kontrol sistemine aktarın ve dahili ön gönderimleri çalıştırın.
- Dahili yamayı gönderin. Yama gönderilir ve başarılı bir şekilde dışa aktarılırsa PR, GitHub tarafından otomatik olarak kapatılır.
Öncelik
Öncelik için aşağıdaki tanımlar, öncelik belirlemek için bakımcılar tarafından kullanılacaktır sorunları.
- 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: 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 hemen işlem yapılması gerekmez. Yüksek talep görüyor ve mevcut çeyreğin yol haritasında planlanıyor.
- P2: Kusur veya özellik ancak şu anda bunun üzerinde çalışmamız gerekmiyor. 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 ve kapatılması olası olmayan bir kusur veya özellik isteği. Bir süre açık tutulabilir kullanıcı daha fazla kullanıcı tarafından yeniden önceliklendirilebilir.
- 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
team-Android
: Android ekibi için sorunlar- İletişim: ahumesky
team-Bazel
: Bazel ürünü/stratejisiyle ilgili genel sorunlar- İletişim: sventiffe
team-Build-Language
: BUILD, .bzl API'leri ve Stardoc ile ilgili sorunlar.- İletişim: brandjon
team-Configurability
: Yapılandırılabilirlik ekibine yönelik sorunlar- İletişim: gregestren
team-Core
: Temel ekip için sorunlar- İletişim: haxorz
team-Documentation
: Belgeleme ekibinin karşılaştığı sorunlar- İletişim: communikit
team-ExternalDeps
: Harici bağımlılık yönetimi, Bzlmod, uzak depolar, WORKSPACE dosyası- İletişim: meteorcloudy
team-Local-Exec
: Uygulama (Yerel) ekibiyle ilgili sorunlar- İletişim: meisterT
team-OSS
: Bazel OSS ekibi için sorunlar: yükleme, yayınlama işlemi, Bazel paketleme, web sitesi, doküman altyapısı- İletişim: meteorcloudy
team-Performance
: Bazel Performans Ekibi'nin sorunları- İletişim: meisterT
team-Remote-Exec
: Yürütme (Uzaktan) ekibiyle ilgili sorunlar- İletişim: coeuvre
team-Rules-CPP
: Yerleşik Apple kural mantığı da dahil olmak üzere C++ kurallarıyla ilgili sorunlar- İletişim: oquenchil
team-Rules-Java
: Java kurallarıyla ilgili sorunlar- İletişim: comius
team-Rules-Python
: Yerel Python kurallarıyla ilgili sorunlar- İletişim: comius
team-Rules-Server
: Bazel'e dahil edilen sunucu tarafı kurallarla ilgili sorunlar- İletişim: comius
team-Starlark-integration
: API dışı Bazel + Starlark entegrasyonu. İçerik: Bazel'in Starlark yorumlayıcısını, Stardoc, yerleşik yerleştirme, karakter kodlamasını nasıl tetiklediği. Şunları içermez: BUILD veya .bzl dil sorunları.- İletişim: brandjon
team-Starlark-interpreter
: Starlark yorumlayıcısı ile ilgili sorunlar (java.net.starlark içindeki her şey). BUILD ve .bzl API sorunları (Bazel'in Starlark ile entegrasyonunu temsil eder)team-Build-Language
içinde gider.- İletişim: brandjon
Yeni sorunlarda category: *
etiketlerinin desteğini, ekibin lehine sonlandırdık
etiketler.
Etiketlerin tam listesini burada bulabilirsiniz.