Přispívání
Nastavení
Udělej jednu malou změnu na správném místě a pošli ji jako pull request.
Než začneš
Odkaz na Než začneš- Nejdřív otevři issue, nebo okomentuj existující. Napiš, co chceš změnit a proč.
- Počkej na odpověď, ať nepostavíš něco, co se nesloučí.
- Dokonči přípravu, ať můžeš HolyArrs sestavit a spustit.
Otázky patří na Discord. Nápady patří na r/HolyArrs. Issues jsou pro chyby a roadmapu.
Pošli první pull request
Odkaz na Pošli první pull request-
Najdi modul, do kterého změna patří. Názvy v modulech odpovídají názvům složek, takže špatné upozornění na Discordu je změna v
alerts. -
Udělej změnu v
app/backend/internal/<module>/aapp/frontend/src/lib/<module>/. Drž se jedné opravy nebo jedné funkce. -
Sestav webovou aplikaci, pak program, a změnu vyzkoušej v prohlížeči. Viz příprava.
-
Spusť kontroly z testování.
Neměl bys vidět žádné selhání.
-
Když se změna týká stránky, spusť její end-to-end projekt, například
npm --prefix app/frontend run e2e -- --project=movies. -
Otevři pull request. Přilinkuj issue, napiš, co se změnilo a jak jsi to testoval, a přidej nebo uprav testy ke změně.
-
U prvního pull requestu tě bot požádá o podpis licenční smlouvy přispěvatele. Odpověz jednou větou, kterou po tobě chce.
Možnosti
Odkaz na MožnostiKam změna patří
Odkaz na Kam změna patří| Změna | Kam jít |
|---|---|
| Nová trasa | Moduly |
| Nový modul | Moduly. Nejdřív otevři issue |
| Odložená funkce | Příprava |
| Vydání | Vydávání. Jen správci |
Jak vypadá dobrý pull request
Odkaz na Jak vypadá dobrý pull request- Piš komentáře, které říkají, proč kód dělá to, co dělá. Žádná čísla z roadmapy, data, jména ani pomlčky v komentářích.
- Nesahej na texty v aplikaci, pokud issue není právě o textech.
- Cesty API, názvy polí, klíče nastavení, názvy tabulek a názvy úloh, které už vyšly, nech tak, jak jsou. Přidávej, nikdy nepřejmenovávej.
Když to nefunguje
Odkaz na Když to nefungujePříznak. Selže kontrola struktury. Příčina. Zpráva jmenuje soubor a pravidlo. Řešení. Přesuň kód, nebo obyčejná data předej z vyššího modulu. Viz moduly.
Příznak. Webová aplikace vypadá stará. Příčina. Program servíruje build, který má vestavěný. Řešení. Sestav webovou aplikaci znovu před programem.
Příznak. End-to-end testy se nespustí.
Příčina. Testovací prohlížeč není nainstalovaný.
Řešení. Spusť npx --prefix app/frontend playwright install chromium.
Pro pokročilé
Odkaz na Pro pokročiléPravidla, která musí pull request dodržet
- Modul mluví s jiným modulem jen přes jeho službu (Go) nebo jeho
index.ts(web). Nikdy přes jeho store nebo jeho soubory. - SQL žije jen v souborech
store*.gomodulu, nad tabulkami toho modulu. - Webová část patří do
lib/uijen tehdy, když ji používají 2 nebo více modulů. - Žádné balíčky
util,common,sharedanihelpers. - Každé volání ven jde přes
core/outbound.
Tato pravidla hlídají testy, takže špatný import shodí build. Celý seznam a názvy kontrol jsou v modulech.
Co pouští CI
| Úloha | Spouští |
|---|---|
| Web | check, lint, test, build a end-to-end sadu |
| Go | go build, go vet a go test -timeout 60m ./... na amd64 a arm64, nativně i v emulaci |
| Race | go test -race ./... |
| Kontrakt | Shodu s openapi.json, kontrolu oprávnění u každé trasy, sadu pro stahovače |
| Poruchy a zátěž | Běhy s pádem, pomalým zápisem, špatnou vnější službou a paměťou |
| Image | Vývojový image se sestaví, spustí a ohlásí svou verzi |
Podrobnosti o dlouhých během jsou v testování.
Související
Odkaz na SouvisejícíHolyArrs je zdarma. Pokud ti ušetřil čas, dej mu hvězdičku na GitHubu, podpoř ho sponzorstvím nebo kup mi kávu.