Prispievanie
Nastavenie
Urob jednu malú zmenu na správnom mieste a pošli ju ako pull request.
Skôr než začneš
Odkaz na Skôr než začneš- Najprv otvor issue, alebo okomentuj existujúce. Napíš, čo chceš zmeniť a prečo.
- Počkaj na odpoveď, aby sa práca nestratila na niečom, čo sa nezlúči.
- Dokonči Nastavenie, aby si vedel HolyArrs zostaviť a spustiť.
Otázky patria na Discord. Nápady patria na r/HolyArrs. Issues sú na chyby a plán vývoja.
Pošli svoj prvý pull request
Odkaz na Pošli svoj prvý pull request-
Nájdi modul, do ktorého zmena patrí. Názvy v Moduly sa zhodujú s názvami priečinkov, takže chybné upozornenie na Discord je zmena v
alerts. -
Urob zmenu v
app/backend/internal/<module>/aapp/frontend/src/lib/<module>/. Drž sa jednej opravy alebo jednej funkcie. -
Zostav webovú aplikáciu, potom program, a vyskúšaj zmenu v prehliadači. Pozri Nastavenie.
-
Spusti kontroly zo stránky Testovanie.
Mal by si vidieť, že nič nezlyhalo.
-
Ak sa zmena týka stránky, spusti jej end-to-end projekt, napríklad
npm --prefix app/frontend run e2e -- --project=movies. -
Otvor pull request. Odkáž na issue, napíš, čo sa zmenilo a ako sa to testovalo, a pridaj alebo uprav testy k zmene.
-
Pri prvom pull requeste ťa bot požiada o podpis licenčnej zmluvy prispievateľa. Odpovedz jednou vetou, ktorú žiada.
Možnosti
Odkaz na MožnostiKam zmena patrí
Odkaz na Kam zmena patrí| Zmena | Pozri |
|---|---|
| Nová cesta | Moduly |
| Nový modul | Moduly. Najprv otvor issue |
| Pozdržaná funkcia | Nastavenie |
| Nová verzia | Vydávanie verzií. Iba pre správcov |
Ako vyzerá dobrý pull request
Odkaz na Ako vyzerá dobrý pull request- Píš komentáre, ktoré hovoria, prečo kód robí to, čo robí. Žiadne čísla z plánu vývoja, dátumy, mená ani em pomlčky v komentároch.
- Nechaj texty aplikácie na pokoji, kým issue nie je o texte.
- Cesty API, názvy polí, kľúče nastavení, názvy tabuliek a názvy úloh, ktoré už vyšli, nechaj tak. Pridávaj, nikdy nepremenúvaj.
Ak to nefunguje
Odkaz na Ak to nefungujePríznak. Zlyhá kontrola štruktúry. Príčina. Správa pomenuje súbor a pravidlo. Riešenie. Presuň kód, alebo pošli obyčajné dáta z vyššieho modulu. Pozri Moduly.
Príznak. Webová aplikácia vyzerá stará. Príčina. Program servíruje build, ktorý mal vstavaný. Riešenie. Zostav webovú aplikáciu znova pred programom.
Príznak. End-to-end testy sa nespustia.
Príčina. Testovací prehliadač nie je nainštalovaný.
Riešenie. Spusti npx --prefix app/frontend playwright install chromium.
Pre expertov
Odkaz na Pre expertovPravidlá, ktoré musí pull request dodržať
- Modul sa s iným modulom rozpráva iba cez jeho službu (Go) alebo jeho
index.ts(web). Nikdy cez jeho store alebo súbory. - SQL býva iba v súboroch
store*.gomodulu, nad vlastnými tabuľkami modulu. - Súčasť webu patrí do
lib/uiiba vtedy, keď ju používajú 2 alebo viac modulov. - Žiadne balíky
util,common,sharedanihelpers. - Každé volanie von ide cez
core/outbound.
Tieto pravidlá kontrolujú testy, takže zlý import zlyhá pri zostavení. Úplný zoznam a názvy kontrol sú v Moduly.
Čo spúšťa CI
| Úloha | Spúšťa |
|---|---|
| Web | check, lint, test, build a end-to-end sadu |
| Go | go build, go vet a go test -timeout 60m ./... na amd64 a arm64, natívne aj v emulácii |
| Race | go test -race ./... |
| Contract | Zhodu s openapi.json, kontroly rozsahu na každej ceste, sadu pre sťahovače |
| Fault and scale | Behy s pádom, pomalým zápisom, chybným vonkajším serverom a pamäťou |
| Image | Vývojový image sa zostaví, spustí a nahlási svoju verziu |
Podrobnosti o dlhých behoch sú v Testovanie.
Súvisiace stránky
Odkaz na Súvisiace stránkyHolyArrs je zadarmo. Ak ti ušetril čas, daj mu hviezdičku na GitHube, podpor ho alebo kúp mi kávu.