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:
- İşveren olarak görev yap projenin katkısıyla ilgili doğru kaynak bahsedeceğim.
- Topluluğa katkıda bulunan kişiler ve proje arasında beklentileri belirlemek sorumlular.
Bazel'in temel katkıda bulunanlar grubu, açık kaynak projesinin çeşitli yönlerini yönetmelerine yardımcı olur. 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ü
- Kullanıcı, sorun şablonları ve incelenmemiş açık sorunları hakkında daha fazla bilgi edinin.
- Geliştirici Deneyimi (DevEx) alt ekibi rotasyonunun bir üyesi,
.
- 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.
- 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 genellikle kullanıcı doğru reklam öğesini seçmediğinde sorun şablonu {: .external} gibi görünen ya da eksik bilgi veren içerikler.
- 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. - 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. Bir ekip etiketinin sahibiyseniz bu bölüme bakın başlıklı makaleyi okuyabilirsiniz.
Bir sorun çözüldüğünde kapatılabilir.
Push İsteğinin Yaşam Döngüsü
- Bir kullanıcı, bir pull isteği oluşturur.
- Bir Bazel ekibinin üyesiyseniz ve kendi bölgenizle ilgili halkla ilişkiler gönderiyorsanız ekip etiketinizi atamak ve en iyi uygulamaları bulmaktan sorumlusunuz. incelemecidir.
- 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 halkla ilişkiler incelemesi için başka birini atayabilir.
- Atanan yorumcu PR'yi inceler ve belirlenene kadar yazarla birlikte çalışır. olduğunu görebilirsiniz.
- İ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 departmanını 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.
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
- Sorun listesini ekip etiketinize ve
untriaged
etiketine göre filtreleyin. - Sorunu inceleyin.
- Bir öncelik düzeyi belirleyin ve etiketi atayın.
- Sorun daha önce DevEx alt ekibi tarafından önceliklendirilmiş olabilir. S0. Gerekirse yeniden öncelik sırasına koyun.
- Her sorunun tam olarak bir öncelik etiketine sahip olması gerekir. Bir P0 ya da P1 olduğunu varsayıyoruz. Bunun etkin bir şekilde üzerinde çalışıldığını varsayıyoruz.
untriaged
etiketini kaldırın.
Uygulamanızın, yeni bir sürüm oluşturmak için bazelbuild kuruluşuna giderek etiket ekleyin veya kaldırın.
Push İstekleri
- Push istekleri listesini ekip etiketinize göre filtreleyin.
- Açık pull isteklerini inceleyin.
- İsteğe bağlı: İnceleme için atandıysanız ancak sizin için uygun değilseniz kod incelemesi yapması için uygun incelemeciyi tekrar atayın.
- Kod incelemesini tamamlamak için pull isteğini oluşturan kişiyle 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 sayısı.
- 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
Ö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 eklenen ve bir veya zarar veren bir değişiklik ya da İş Kırılım Yapısı'na uygun Değiştir politikası. Pratik bir çözüm yok.
- 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 hemen işlem yapılması gerekmez. İçinde mevcut üç aylık dönemlerin yol haritasında planlanmış olmalı.
- P2: Kusur veya özellik ancak şu anda üzerinde çalışmamız gereken bir problem var. Orta düzey yayın sorunu uygulanması gereken kullanıcı açısından elverişsiz bir şekilde, yayınlanmış Bazel sürümünde ve/veya kolay bir geçici çözüm mevcut.
- P3 - İstenen küçük hata küçük etkiyle düzeltme veya geliştirme yapar. Bazel yol haritalarında veya Ancak yakın zamanda tüm içerikler yayınlanır ancak topluluk katkıları önerilir.
- P4: Düşük öncelikli kusur kapatılma olasılığı düşük olan bir özellik veya özellik isteği gönderin. Bir süre açık tutulabilir daha fazla kullanıcının yeniden önceliklendirilmesi ihtimalini artırır.
- buz kutusu
- Şu anda çözmek için vaktimiz olmayan sorunlar kabul etmeniz gerekir. Daha önce belirtilen şekilde ihlal edildiğini belirtmek için bu bu metinlerin üzerinde kimse çalışmamaktadır, ancak zaman içinde ve yeterli sayıda insan etkilendiği takdirde bu felaketleri hayata geçirmemizi kaynaklar olduğunu varsayalım. Her zamanki gibi yorum veya tepki ekleyebilirsiniz bu sorunlara değineceğiz.
Ekip etiketleri
team-Android
: Android ekibi için sorunlar- İletişim: ahumesky
team-Bazel
: Bazel ürünü/stratejisiyle ilgili genel sorunlar- İletişim: meisterT
team-CLI
: Konsol kullanıcı arayüzü- İletişim: meisterT
team-Configurability
: Yapılandırılabilirlik ekibine yönelik sorunlar. Temel derleme yapılandırması ve geçiş sistemi dahildir. Şunu içermez: Yeni veya mevcut işaretlerde yapılan değişiklikler- İletişim: gregestren
team-Core
: Skyframe, bazel query, BEP, seçenek ayrıştırma, bazelrc- İletişim: haxorz
team-Documentation
: Belgeleme ekibinin karşılaştığı sorunlarteam-ExternalDeps
: Harici bağımlılık yönetimi, Bzlmod, uzak depolar, WORKSPACE dosyası- İletişim: meteorcloudy
team-Loading-API
: BUILD dosya ve makro işleme: etiketler, paket(), görünürlük, glob- İletişim: brandjon
team-Local-Exec
: Yürütme (Yerel) ekibi için 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) ekibi ile ilgili sorunlar- İletişim: coeuvre
team-Rules-API
: Kural/unsur yazma API'si: sağlayıcılar, çalıştırma dosyaları, işlemler, yapılar- İletişim: comius
team-Rules-CPP
/team-Rules-ObjC
: Yerel Apple kuralı mantığı dahil C++/Objective-C kurallarıyla ilgili sorunlar- İletişim: buildbreaker2021
team-Rules-Java
: Java kurallarıyla ilgili sorunlar- İletişim: hvadehra
team-Rules-Python
: Yerel Python kurallarıyla ilgili sorunlar- İletişim: rickeylev
team-Rules-Server
: Bazel'e dahil edilen sunucu tarafı kurallarıyla ilgili sorunlar- İletişim: comius
team-Starlark-Integration
: API olmayan Bazel + Starlark entegrasyonu. İçerik: Bazel'in Starlark yorumlayıcısını, Stardoc, yerleşik yerleştirme, karakter kodlamasını nasıl tetiklediği. Şunu içermez: BUILD veya .bzl dil sorunları.- İletişim: brandjon
team-Starlark-Interpreter
: Starlark çevirmeniyle ilgili sorunlar (java.net.starlark ile ilgili 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.