Tovább a tartalomhoz

Közreműködés

Beállítás

Végezz egy kis változtatást a megfelelő helyen, és küldd be pull requestként.

  • Előbb nyiss egy issue-t, vagy szólj hozzá egy meglévőhöz. Írd le, mit akarsz változtatni, és miért.
  • Várd meg a választ, hogy ne olyat építs, amit nem fognak beolvasztani.
  • Végezd el a Beállítás lépéseit, hogy le tudd fordítani és futtatni a HolyArrs-t.

A kérdések a Discordra mennek. Az ötletek az r/HolyArrs subredditre. Az issue-k a hibákra és a roadmapre valók.

Küldd el az első pull requestedet

Hivatkozás ide: Küldd el az első pull requestedet
  1. Keresd meg a modult, amelyikbe a változtatás tartozik. A Modulok oldalon a nevek megegyeznek a mappanevekkel, így egy hibás Discord-értesítés az alerts módosítása.

  2. Végezd el a változtatást az app/backend/internal/<module>/ és az app/frontend/src/lib/<module>/ mappában. Maradj egyetlen javításnál vagy egyetlen funkciónál.

  3. Fordítsd le a webes appot, aztán a programot, és próbáld ki a változtatást a böngészőben. Lásd: Beállítás.

  4. Futtasd az ellenőrzéseket a Tesztelés oldalról.

    Hibát nem szabad látnod.

  5. Ha oldalt módosítottál, futtasd annak az end-to-end projektjét, például: npm --prefix app/frontend run e2e -- --project=movies.

  6. Nyisd meg a pull requestet. Linkeld az issue-t, írd le, mi változott és hogyan teszteltél, és adj hozzá vagy frissíts teszteket a változtatáshoz.

  7. Az első pull requestednél egy bot megkér, hogy írd alá a közreműködői licencszerződést. Válaszolj rá az egyetlen mondattal, amit kér.

Változtatás Ide menj
Új route Modulok
Új modul Modulok. Előbb nyiss egy issue-t
Későbbre halasztott funkció Beállítás
Egy verzió kiadása Kiadás. Csak karbantartóknak
  • A kommentek azt írják le, miért csinál a kód valamit. Ne legyen bennük roadmap-szám, dátum, név vagy gondolatjel.
  • Ne nyúlj az app szövegeihez, hacsak az issue nem a szövegről szól.
  • A már kiadott API-útvonalak, mezőnevek, beállításkulcsok, táblanevek és feladatnevek maradjanak. Hozzáadni szabad, átnevezni nem.

Tünet. Egy szerkezeti ellenőrzés elbukik. Ok. Az üzenet megnevezi a fájlt és a szabályt. Megoldás. Told át a kódot, vagy a magasabb modulból adj át sima adatot. Lásd: Modulok.

Tünet. A webes app réginek tűnik. Ok. A program a beágyazott buildet szolgálja ki. Megoldás. Fordítsd le újra a webes appot a program előtt.

Tünet. Az end-to-end tesztek nem tudnak elindulni. Ok. A tesztböngésző nincs telepítve. Megoldás. Futtasd: npx --prefix app/frontend playwright install chromium.

Szabályok, amelyeket egy pull requestnek tartania kell
  • Egy modul csak a service-én (Go) vagy az index.ts-én (web) keresztül beszél más modullal. Soha nem a store-ján vagy a fájljain át.
  • Az SQL csak a modul store*.go fájljaiban lehet, a modul saját táblái fölött.
  • Egy webes rész csak akkor kerül a lib/ui-ba, ha 2 vagy több modul használja.
  • Nincs util, common, shared vagy helpers csomag.
  • Minden külső hívás a core/outbound-on megy át.

A tesztek ezeket a szabályokat ellenőrzik, ezért egy rossz import megbuktatja a buildet. A teljes lista és az ellenőrzések nevei a Modulok oldalon vannak.

Mit futtat a CI
Feladat Futtat
Web check, lint, test, build és az end-to-end csomag
Go go build, go vet és go test -timeout 60m ./... amd64-en és arm64-en, natívan és emulációban
Race go test -race ./...
Szerződés Az openapi.json egyezése, hatókör-ellenőrzés minden route-on, a Letöltő-csomag
Hiba és méret Összeomlás, lassú írás, rossz külső szolgáltatás és memóriafuttatások
Image Egy fejlesztői image megépül, elindul, és kiírja a verzióját

A hosszú futtatások részletei a Tesztelés oldalon vannak.

A HolyArrs ingyenes. Ha időt spórolt neked, adj neki egy csillagot a GitHubon, támogasd vagy hívj meg egy kávéra.