Doprinos
Postavljanje
Napravi jednu malu promjenu na pravom mjestu i pošalji je kao pull request.
Prije nego počneš
Poveznica na Prije nego počneš- Prvo otvori issue ili komentiraj neki postojeći. Napiši što želiš promijeniti i zašto.
- Pričekaj odgovor, da ne napraviš nešto što neće biti spojeno.
- Završi Postavljanje da možeš izgraditi i pokrenuti HolyArrs.
Pitanja idu na Discord. Ideje idu na r/HolyArrs. Issueji su za bugove i roadmap.
Pošalji prvi pull request
Poveznica na Pošalji prvi pull request-
Nađi modul kojem tvoja promjena pripada. Imena u Modulima odgovaraju imenima mapa, pa je pogrešna Discord obavijest promjena u
alerts. -
Napravi promjenu u
app/backend/internal/<module>/iapp/frontend/src/lib/<module>/. Drži se jednog popravka ili jedne značajke. -
Izgradi web aplikaciju, zatim program, i isprobaj promjenu u pregledniku. Vidi Postavljanje.
-
Pokreni provjere iz Testiranja.
Ne bi smjelo biti nijedne greške.
-
Ako mijenjaš stranicu, pokreni njezin end-to-end projekt, na primjer
npm --prefix app/frontend run e2e -- --project=movies. -
Otvori pull request. Poveži issue, napiši što se promijenilo i kako je promjena testirana, te dodaj ili ažuriraj testove za promjenu.
-
Na tvoj prvi pull request bot traži da potpišeš ugovor o licenci za doprinositelje. Odgovori jednom rečenicom koju traži.
Izbori
Poveznica na IzboriKamo ide koja promjena
Poveznica na Kamo ide koja promjena| Promjena | Idi na |
|---|---|
| Nova ruta | Moduli |
| Novi modul | Moduli. Prvo otvori issue |
| Zadržana značajka | Postavljanje |
| Verzija | Izdavanje verzija. Samo za maintainere |
Kako izgleda dobar pull request
Poveznica na Kako izgleda dobar pull request- Piši komentare koji kažu zašto kod radi to što radi. Bez brojeva iz roadmapa, datuma, imena i dugih crtica u komentarima.
- Ne diraj tekstove u aplikaciji osim ako se issue ne tiče tekstova.
- Objavljene API putanje, imena polja, ključeve postavki, imena tablica i imena zadataka ostavi kakvi jesu. Dodaj, nikad ne preimenuj.
Ako ne radi
Poveznica na Ako ne radiSimptom. Provjera strukture ne prolazi. Uzrok. Poruka navodi datoteku i pravilo. Rješenje. Premjesti kod ili predaj obične podatke iz višeg modula. Vidi Moduli.
Simptom. Web aplikacija izgleda staro. Uzrok. Program poslužuje build koji je ugradio. Rješenje. Izgradi web aplikaciju ponovno prije programa.
Simptom. End-to-end testovi se ne mogu pokrenuti.
Uzrok. Testni preglednik nije instaliran.
Rješenje. Izvrši npx --prefix app/frontend playwright install chromium.
Za napredne
Poveznica na Za naprednePravila koja pull request mora poštovati
- Modul razgovara s drugim modulom samo preko njegovog servicea (Go) ili njegovog
index.ts(web). Nikad preko njegovog storea ili njegovih datoteka. - SQL živi samo u
store*.godatotekama modula, nad tablicama tog modula. - Dio weba ide u
lib/uisamo kad ga koriste 2 ili više modula. - Nema paketa
util,common,sharednihelpers. - Svaki vanjski poziv ide kroz
core/outbound.
Testovi provjeravaju ta pravila, pa pogrešan import ruši build. Cijeli popis i imena provjera su u Modulima.
Što pokreće CI
| Job | Pokreće |
|---|---|
| Web | check, lint, test, build i end-to-end paket |
| Go | go build, go vet i go test -timeout 60m ./... na amd64 i arm64, nativno i pod emulacijom |
| Race | go test -race ./... |
| Contract | Podudaranje s openapi.json, provjere scopea na svakoj ruti, paket za preuzimatelje |
| Fault i scale | Pokretanja s rušenjem, sporim upisom, lošim vanjskim servisom i opterećenjem memorije |
| Image | Razvojni image se izgradi, pokrene i javi svoju verziju |
Pojedinosti o dugim pokretanjima su u Testiranju.
Povezane stranice
Poveznica na Povezane straniceHolyArrs je besplatan. Ako ti je uštedio vrijeme, daj mu zvjezdicu na GitHubu, podrži ga ili počasti me kavom.