Osallistuminen
Käyttöönotto
Tee yksi pieni muutos oikeaan paikkaan ja lähetä se pull requestina.
Ennen kuin aloitat
Linkki otsikkoon Ennen kuin aloitat- Avaa ensin issue tai kommentoi olemassa olevaa. Kerro, mitä haluat muuttaa ja miksi.
- Odota vastausta, ettet rakenna jotain, mitä ei hyväksytä.
- Käy läpi Käyttöönotto, jotta voit rakentaa ja ajaa HolyArrsin.
Kysymykset menevät Discordiin. Ideat menevät r/HolyArrsiin. Issuet on tarkoitettu virheille ja roadmapille.
Lähetä ensimmäinen pull requestisi
Linkki otsikkoon Lähetä ensimmäinen pull requestisi-
Etsi moduuli, johon muutoksesi kuuluu. Sivun Moduulit nimet vastaavat kansioiden nimiä, joten väärä Discord-ilmoitus on muutos
alerts-moduuliin. -
Tee muutos kansioihin
app/backend/internal/<module>/jaapp/frontend/src/lib/<module>/. Pidä se yhdessä korjauksessa tai yhdessä ominaisuudessa. -
Rakenna verkkosovellus ja sitten ohjelma, ja kokeile muutosta selaimessa. Katso Käyttöönotto.
-
Aja tarkistukset sivulta Testaus.
Virheitä ei pitäisi tulla.
-
Jos muutit sivua, aja sen end-to-end-projekti, esimerkiksi
npm --prefix app/frontend run e2e -- --project=movies. -
Avaa pull request. Linkitä issue, kerro mitä muuttui ja miten testasit, ja lisää tai päivitä muutoksen testit.
-
Ensimmäisessä pull requestissasi botti pyytää sinua allekirjoittamaan osallistujan lisenssisopimuksen (CLA). Vastaa yhdellä lauseella, jota se pyytää.
Vaihtoehdot
Linkki otsikkoon VaihtoehdotMinne muutos kuuluu
Linkki otsikkoon Minne muutos kuuluu| Muutos | Mene tänne |
|---|---|
| Uusi reitti | Moduulit |
| Uusi moduuli | Moduulit. Avaa ensin issue |
| Myöhemmäksi jätetty ominaisuus | Käyttöönotto |
| Versio | Julkaiseminen. Vain projektin ylläpitäjille |
Millainen on hyvä pull request
Linkki otsikkoon Millainen on hyvä pull request- Kirjoita kommentit, jotka kertovat, miksi koodi tekee sen mitä tekee. Ei roadmap-numeroita, päivämääriä, nimiä eikä pitkiä ajatusviivoja kommenteissa.
- Älä koske sovelluksen sanamuotoihin, ellei issue koske sanamuotoja.
- Jätä julkaistut API-polut, kenttien nimet, asetusavaimet, taulujen nimet ja tehtävien nimet ennalleen. Lisää, älä koskaan nimeä uudelleen.
Jos se ei toimi
Linkki otsikkoon Jos se ei toimiOire. Rakennetarkistus epäonnistuu. Syy. Virheilmoitus nimeää tiedoston ja säännön. Ratkaisu. Siirrä koodi tai välitä tavallista dataa ylemmältä moduulilta. Katso Moduulit.
Oire. Verkkosovellus näyttää vanhalta. Syy. Ohjelma tarjoaa sen buildin, jonka se on upottanut itseensä. Ratkaisu. Rakenna verkkosovellus uudelleen ennen ohjelmaa.
Oire. End-to-end-testit eivät käynnisty.
Syy. Testiselainta ei ole asennettu.
Ratkaisu. Suorita npx --prefix app/frontend playwright install chromium.
Asiantuntijoille
Linkki otsikkoon AsiantuntijoilleSäännöt, joita pull requestin on noudatettava
- Moduuli puhuu toiselle moduulille vain sen palvelun (Go) tai sen
index.ts-tiedoston (web) kautta. Ei koskaan sen storen tai tiedostojen kautta. - SQL on vain moduulin
store*.go-tiedostoissa, ja vain moduulin omiin tauluihin. - Web-osa menee kansioon
lib/uivain, jos sitä käyttää vähintään 2 moduulia. - Ei
util-,common-,shared- eikähelpers-paketteja. - Jokainen ulkoinen kutsu kulkee
core/outbound-paketin kautta.
Testit tarkistavat nämä säännöt, joten väärä import kaataa buildin. Koko lista ja tarkistusten nimet ovat sivulla Moduulit.
Mitä CI ajaa
| Tehtävä | Ajaa |
|---|---|
| Web | check, lint, test, build ja end-to-end-sarja |
| Go | go build, go vet ja go test -timeout 60m ./... arkkitehtuureilla amd64 ja arm64, natiivisti ja emuloinnissa |
| Race | go test -race ./... |
| Sopimus | openapi.json-vastaavuus, oikeusaluetarkistukset jokaiselle reitille, latausohjelmien sarja |
| Vika ja mittakaava | Kaatumis-, hidaskirjoitus-, viallinen ulkoinen palvelu- ja muistiajot |
| Image | Kehitysimage rakentuu, käynnistyy ja ilmoittaa versionsa |
Pitkien ajojen yksityiskohdat ovat sivulla Testaus.
Aiheesta lisää
Linkki otsikkoon Aiheesta lisääHolyArrs on ilmainen. Jos se säästi aikaasi, anna sille tähti GitHubissa, tue sitä tai tarjoa minulle kahvit.