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.
Mielőtt elkezdenéd
Hivatkozás ide: Mielőtt elkezdenéd- 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-
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
alertsmódosítása. -
Végezd el a változtatást az
app/backend/internal/<module>/és azapp/frontend/src/lib/<module>/mappában. Maradj egyetlen javításnál vagy egyetlen funkciónál. -
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.
-
Futtasd az ellenőrzéseket a Tesztelés oldalról.
Hibát nem szabad látnod.
-
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. -
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.
-
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.
Lehetőségek
Hivatkozás ide: LehetőségekHová tartozik a változtatás
Hivatkozás ide: Hová tartozik a változtatás| 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 |
Milyen egy jó pull request
Hivatkozás ide: Milyen egy jó pull request- 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.
Ha nem működik
Hivatkozás ide: Ha nem működikTü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.
Haladóknak
Hivatkozás ide: HaladóknakSzabá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*.gofá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,sharedvagyhelperscsomag. - 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.
Kapcsolódó oldalak
Hivatkozás ide: Kapcsolódó oldalakA HolyArrs ingyenes. Ha időt spórolt neked, adj neki egy csillagot a GitHubon, támogasd vagy hívj meg egy kávéra.