Katkıda bulunma
Kurulum
Doğru yerde küçük bir değişiklik yap ve pull request olarak gönder.
Başlamadan önce
Başlamadan önce bağlantısı- Önce bir issue aç ya da var olan birine yorum yaz. Ne değiştirmek istediğini ve nedenini anlat.
- Cevap bekle, böylece birleştirilmeyecek bir şey yapmazsın.
- HolyArrs’ı derleyip çalıştırabilmek için Kurulum sayfasını bitir.
Sorular için Discord, fikirler için r/HolyArrs var. Issue’lar hatalar ve yol haritası içindir.
İlk pull request’ini gönder
İlk pull request’ini gönder bağlantısı-
Değişikliğinin hangi modüle ait olduğunu bul. Modüller sayfasındaki adlar klasör adlarıyla aynıdır, yani yanlış bir Discord uyarısı
alertsiçinde yapılacak bir değişikliktir. -
Değişikliği
app/backend/internal/<module>/veapp/frontend/src/lib/<module>/içinde yap. Tek bir düzeltme ya da tek bir özellikle sınırlı tut. -
Önce web uygulamasını, sonra programı derle ve değişikliği tarayıcıda dene. Bkz. Kurulum.
-
Test sayfasındaki denetimleri çalıştır.
Hiç hata görmemelisin.
-
Bir sayfayı değiştirdiysen onun uçtan uca proje testini çalıştır, örneğin
npm --prefix app/frontend run e2e -- --project=movies. -
Pull request’i aç. Issue’yu bağla, neyin değiştiğini ve nasıl test ettiğini yaz, değişiklik için test ekle ya da güncelle.
-
İlk pull request’inde bir bot senden katkıda bulunan lisans sözleşmesini imzalamanı ister. İstediği tek cümleyle cevap ver.
Seçenekler
Seçenekler bağlantısıBir değişiklik nereye gider
Bir değişiklik nereye gider bağlantısı| Değişiklik | Git |
|---|---|
| Yeni bir rota | Modüller |
| Yeni bir modül | Modüller. Önce bir issue aç |
| Bekletilen bir özellik | Kurulum |
| Bir sürüm | Sürüm çıkarma. Yalnızca bakımcılar |
İyi bir pull request nasıl görünür
İyi bir pull request nasıl görünür bağlantısı- Kodun neden öyle yaptığını söyleyen yorumlar yaz. Yorumlarda yol haritası numarası, tarih, isim veya uzun tire olmasın.
- Sorun metinle ilgili değilse uygulamanın metinlerine dokunma.
- Yayımlanmış API yollarını, alan adlarını, ayar anahtarlarını, tablo adlarını ve iş adlarını olduğu gibi bırak. Ekle, asla yeniden adlandırma.
Çalışmazsa
Çalışmazsa bağlantısıBelirti. Bir yapı denetimi başarısız oluyor. Neden. Mesaj dosyayı ve kuralı söyler. Çözüm. Kodu taşı ya da üstteki modülden düz veri geçir. Bkz. Modüller.
Belirti. Web uygulaması eski görünüyor. Neden. Program, içine gömdüğü derlemeyi sunar. Çözüm. Programdan önce web uygulamasını yeniden derle.
Belirti. Uçtan uca testler başlamıyor.
Neden. Test tarayıcısı kurulu değil.
Çözüm. npx --prefix app/frontend playwright install chromium komutunu çalıştır.
Uzmanlar için
Uzmanlar için bağlantısıBir pull request'in uyması gereken kurallar
- Bir modül başka bir modülle yalnızca servisi (Go) ya da
index.tsdosyası (web) üzerinden konuşur. Asla store’u ya da dosyaları üzerinden değil. - SQL yalnızca bir modülün
store*.godosyalarında, o modülün kendi tabloları üzerinde durur. - Bir web parçası
lib/uiiçine ancak 2 ya da daha fazla modül kullanıyorsa girer. util,common,sharedveyahelperspaketleri yok.- Dışarıya giden her çağrı
core/outboundüzerinden geçer.
Testler bu kuralları denetler, yani yanlış bir import derlemeyi bozar. Tam liste ve denetim adları Modüller sayfasında.
CI neyi çalıştırır
| İş | Çalıştırdığı |
|---|---|
| Web | check, lint, test, build ve uçtan uca set |
| Go | amd64 ve arm64 üzerinde, hem yerel hem emülasyonla go build, go vet ve go test -timeout 60m ./... |
| Race | go test -race ./... |
| Contract | openapi.json eşleşmesi, her rota için kapsam denetimleri, indirici seti |
| Fault ve scale | Çökme, yavaş yazma, bozuk dış servis ve bellek çalıştırmaları |
| İmaj | Bir geliştirme imajı derlenir, başlar ve sürümünü bildirir |
Uzun çalıştırmaların ayrıntıları Test sayfasında.
İlgili
İlgili bağlantısıHolyArrs ücretsiz. Zamanından tasarruf ettirdiyse GitHub'da yıldızla, sponsor ol ya da bana bir kahve ısmarla.