Pāriet uz saturu

Dalība izstrādē

Iestatīšana

Izdari vienu nelielu izmaiņu īstajā vietā un nosūti to kā pull request.

  • Vispirms atver problēmu (issue) vai komentē jau esošu. Pasaki, ko vēlies mainīt un kāpēc.
  • Pagaidi atbildi, lai nebūvētu to, ko galvenajā kodā neiekļaus.
  • Pabeidz Iestatīšana, lai vari uzbūvēt un palaist HolyArrs.

Jautājumus uzdod Discord. Idejas raksti r/HolyArrs. Problēmas (issues) ir kļūdām un ceļvedim.

Nosūti savu pirmo pull request

Saite uz Nosūti savu pirmo pull request
  1. Atrodi moduli, kuram tava izmaiņa pieder. Nosaukumi sadaļā Moduļi sakrīt ar mapju nosaukumiem, tāpēc nepareizs Discord paziņojums ir izmaiņa modulī alerts.

  2. Izdari izmaiņu mapēs app/backend/internal/<module>/ un app/frontend/src/lib/<module>/. Ierobežojies ar vienu labojumu vai vienu funkciju.

  3. Uzbūvē tīmekļa lietotni, tad programmu, un izmēģini izmaiņu pārlūkā. Skaties Iestatīšana.

  4. Palaid pārbaudes no Testēšana.

    Tev nevajadzētu redzēt nevienu kļūmi.

  5. Ja mainīji lapu, palaid tās end-to-end projektu, piemēram, npm --prefix app/frontend run e2e -- --project=movies.

  6. Atver pull request. Norādi problēmu, pasaki, kas mainījās un kā to pārbaudīji, un pievieno vai atjaunini izmaiņai testus.

  7. Pirmajā pull request bots lūgs tevi parakstīt dalībnieka licences līgumu. Atbildi ar vienu teikumu, ko tas pieprasa.

Kur nonāk izmaiņa

Saite uz Kur nonāk izmaiņa
Izmaiņa Dodies uz
Jauns maršruts Moduļi
Jauns modulis Moduļi. Vispirms atver problēmu
Aizturēta funkcija Iestatīšana
Versija Versiju izlaišana. Tikai uzturētājiem

Kāds izskatās labs pull request

Saite uz Kāds izskatās labs pull request
  • Raksti komentārus, kas pasaka, kāpēc kods dara to, ko dara. Komentāros nekādu ceļveža numuru, datumu, vārdu vai garo domuzīmju.
  • Neaiztiec lietotnes formulējumus, ja problēma nav par formulējumu.
  • Izlaistie API ceļi, lauku nosaukumi, iestatījumu atslēgas, tabulu nosaukumi un uzdevumu nosaukumi paliek kā ir. Pievieno, nekad nepārsauc.

Simptoms. Struktūras pārbaude neizdodas. Cēlonis. Ziņojumā ir minēts fails un noteikums. Risinājums. Pārvieto kodu vai nodod vienkāršus datus no augstākā moduļa. Skaties Moduļi.

Simptoms. Tīmekļa lietotne izskatās veca. Cēlonis. Programma apkalpo to būvējumu, ko tā iebūvēja sevī. Risinājums. Pirms programmas vēlreiz uzbūvē tīmekļa lietotni.

Simptoms. End-to-end testi nevar startēt. Cēlonis. Testu pārlūks nav uzstādīts. Risinājums. Izpildi npx --prefix app/frontend playwright install chromium.

Noteikumi, kas jāievēro pull request
  • Modulis runā ar citu moduli tikai caur tā servisu (Go) vai tā index.ts (tīmeklis). Nekad caur tā glabātuvi vai failiem.
  • SQL atrodas tikai moduļa store*.go failos un tikai par paša moduļa tabulām.
  • Tīmekļa daļa nonāk lib/ui tikai tad, ja to izmanto 2 vai vairāki moduļi.
  • Nekādu util, common, shared vai helpers pakotņu.
  • Katrs izsaukums uz āru iet caur core/outbound.

Testi šos noteikumus pārbauda, tāpēc nepareizs imports pārtrauc būvēšanu. Pilns saraksts un pārbaužu nosaukumi ir sadaļā Moduļi.

Ko palaiž CI
Darbs Palaiž
Web check, lint, test, build un end-to-end komplektu
Go go build, go vet un go test -timeout 60m ./... uz amd64 un arm64, gan natīvi, gan emulācijā
Race go test -race ./...
Contract openapi.json sakritību, darbības jomu pārbaudes katram maršrutam, lejupielādētāju komplektu
Fault and scale Avāriju, lēnas rakstīšanas, sliktu ārējo servisu un atmiņas palaišanas
Image Izstrādes attēls tiek uzbūvēts, palaists un ziņo savu versiju

Garo palaišanu detaļas ir sadaļā Testēšana.

HolyArrs ir bezmaksas. Ja tas ietaupīja tavu laiku, atzīmē to ar zvaigznīti GitHub, atbalsti to vai uzcienā mani ar kafiju.