Bidra
Oppsett
Gjør én liten endring på riktig sted og send den inn som en pull request.
Før du begynner
Lenke til Før du begynner- Åpne en sak først, eller kommenter en som finnes. Si hva du vil endre og hvorfor.
- Vent på svar, så du ikke bygger noe som ikke blir slått sammen.
- Fullfør Oppsett så du kan bygge og kjøre HolyArrs.
Spørsmål går til Discord. Ideer går til r/HolyArrs. Saker (issues) er for feil og veikartet.
Send din første pull request
Lenke til Send din første pull request-
Finn modulen endringen hører hjemme i. Navnene i Moduler tilsvarer mappenavn, så et feil Discord-varsel er en endring i
alerts. -
Gjør endringen i
app/backend/internal/<module>/ogapp/frontend/src/lib/<module>/. Hold den til én rettelse eller én funksjon. -
Bygg web-appen, så programmet, og prøv endringen i nettleseren. Se Oppsett.
-
Kjør sjekkene i Testing.
Du skal ikke se noen feil.
-
Hvis du endret en side, kjør ende-til-ende-prosjektet for den, for eksempel
npm --prefix app/frontend run e2e -- --project=movies. -
Åpne pull requesten. Lenk til saken, si hva som er endret og hvordan du testet det, og legg til eller oppdater tester for endringen.
-
På din første pull request ber en bot deg signere lisensavtalen for bidragsytere. Svar med den ene setningen den ber om.
Valg
Lenke til ValgHvor en endring hører hjemme
Lenke til Hvor en endring hører hjemme| Endring | Gå til |
|---|---|
| En ny rute | Moduler |
| En ny modul | Moduler. Åpne en sak først |
| En tilbakeholdt funksjon | Oppsett |
| En versjon | Utgivelse av versjoner. Bare for vedlikeholdere |
Hvordan en god pull request ser ut
Lenke til Hvordan en god pull request ser ut- Skriv kommentarer som sier hvorfor koden gjør det den gjør. Ingen veikartnumre, datoer, navn eller tankestreker i kommentarer.
- La ordlyden i appen være i fred med mindre saken handler om ordlyd.
- La API-stier, feltnavn, innstillingsnøkler, tabellnavn og oppgavenavn som er utgitt, stå som de er. Legg til, aldri gi nytt navn.
Hvis det ikke fungerer
Lenke til Hvis det ikke fungererSymptom. En struktursjekk feiler. Årsak. Meldingen nevner filen og regelen. Løsning. Flytt koden, eller send rene data inn fra den høyere modulen. Se Moduler.
Symptom. Web-appen ser gammel ut. Årsak. Programmet serverer bygget det har innebygd. Løsning. Bygg web-appen på nytt før du bygger programmet.
Symptom. Ende-til-ende-testene kommer ikke i gang.
Årsak. Testnettleseren er ikke installert.
Løsning. Kjør npx --prefix app/frontend playwright install chromium.
For viderekomne
Lenke til For viderekomneRegler en pull request må følge
- En modul snakker med en annen modul bare gjennom tjenesten dens (Go) eller
index.ts(web). Aldri gjennom store-filene eller andre filer. - SQL finnes bare i
store*.go-filene til en modul, over modulens egne tabeller. - En web-del legges i
lib/uibare når 2 eller flere moduler bruker den. - Ingen
util-,common-,shared- ellerhelpers-pakker. - Alle kall til utsiden går gjennom
core/outbound.
Tester sjekker disse reglene, så en feil import får bygget til å feile. Hele listen og navnene på sjekkene står i Moduler.
Hva CI kjører
| Oppgave | Kjører |
|---|---|
| Web | check, lint, test, build og ende-til-ende-suiten |
| Go | go build, go vet og go test -timeout 60m ./... på amd64 og arm64, både native og under emulering |
| Race | go test -race ./... |
| Kontrakt | Samsvaret med openapi.json, scope-sjekker på hver rute, nedlastersuiten |
| Feil og skala | Kjøringer med krasj, treg skriving, dårlig tjeneste utenfra og minne |
| Image | Et utviklingsimage bygges, starter og melder versjonen sin |
Detaljer om de lange kjøringene står i Testing.
Relatert
Lenke til RelatertHolyArrs er gratis. Hvis det sparte deg tid, kan du gi det en stjerne på GitHub, sponse det eller spandere en kaffe.