Contribuir
Configuració
Fes un canvi petit al lloc correcte i envia’l com a pull request.
Abans de començar
Enllaç a Abans de començar- Obre primer una incidència, o comenta’n una que ja existeixi. Explica què vols canviar i per què.
- Espera una resposta, perquè no construeixis res que no s’acabi fusionant.
- Acaba la Configuració per poder compilar i executar HolyArrs.
Les preguntes van a Discord. Les idees van a r/HolyArrs. Les incidències són per als errors i per a la planificació.
Envia la teva primera pull request
Enllaç a Envia la teva primera pull request-
Troba el mòdul al qual pertany el teu canvi. Els noms de Mòduls coincideixen amb els noms de carpeta, així que un avís de Discord incorrecte és un canvi a
alerts. -
Fes el canvi a
app/backend/internal/<module>/iapp/frontend/src/lib/<module>/. Limita’l a una correcció o a una funció. -
Compila l’app web, després el programa, i prova el canvi al navegador. Mira Configuració.
-
Executa les comprovacions de Proves.
No hauries de veure cap fallada.
-
Si has canviat una pàgina, executa el seu projecte d’extrem a extrem, per exemple
npm --prefix app/frontend run e2e -- --project=movies. -
Obre la pull request. Enllaça la incidència, explica què ha canviat i com ho has provat, i afegeix o actualitza les proves del canvi.
-
A la teva primera pull request, un bot et demana que signis l’acord de llicència de contribuïdor. Respon amb la frase que et demana.
Opcions
Enllaç a OpcionsOn va un canvi
Enllaç a On va un canvi| Canvi | Ves a |
|---|---|
| Una ruta nova | Mòduls |
| Un mòdul nou | Mòduls. Obre primer una incidència |
| Una funció en espera | Configuració |
| Una versió | Publicar versions. Només mantenidors |
Com és una bona pull request
Enllaç a Com és una bona pull request- Escriu comentaris que expliquin per què el codi fa el que fa. Cap número del full de ruta, data, nom ni guió llarg als comentaris.
- No toquis el text de l’app tret que la incidència sigui sobre el text.
- Deixa tal com estan els camins de l’API publicats, els noms de camps, les claus de paràmetres, els noms de taules i els noms de tasques. Afegeix, mai no canviïs el nom.
Si no funciona
Enllaç a Si no funcionaSímptoma. Falla una comprovació d’estructura. Causa. El missatge indica el fitxer i la regla. Solució. Mou el codi, o passa dades simples des del mòdul superior. Mira Mòduls.
Símptoma. L’app web es veu antiga. Causa. El programa serveix la compilació que va integrar. Solució. Compila l’app web de nou abans del programa.
Símptoma. Les proves d’extrem a extrem no arrenquen.
Causa. El navegador de proves no està instal·lat.
Solució. Executa npx --prefix app/frontend playwright install chromium.
Per a experts
Enllaç a Per a expertsRegles que ha de complir una pull request
- Un mòdul parla amb un altre mòdul només a través del seu servei (Go) o del seu
index.ts(web). Mai a través del seu store ni dels seus fitxers. - L’SQL viu només als fitxers
store*.god’un mòdul, sobre les taules d’aquell mòdul. - Una part web va a
lib/uinomés quan la fan servir 2 o més mòduls. - Cap paquet
util,common,sharednihelpers. - Cada crida a l’exterior passa per
core/outbound.
Les proves comproven aquestes regles, així que una importació incorrecta fa fallar la compilació. La llista completa i els noms de les comprovacions són a Mòduls.
Què executa la CI
| Tasca | Executa |
|---|---|
| Web | check, lint, test, build i la bateria d’extrem a extrem |
| Go | go build, go vet i go test -timeout 60m ./... a amd64 i arm64, de manera nativa i sota emulació |
| Race | go test -race ./... |
| Contract | La coincidència amb openapi.json, comprovacions d’àmbit a cada ruta, la bateria dels gestors de baixades |
| Fault and scale | Proves de fallades, escriptura lenta, servei extern defectuós i memòria |
| Image | Es compila una imatge de desenvolupament, s’inicia i informa de la seva versió |
Els detalls de les proves llargues són a Proves.
Relacionat
Enllaç a RelacionatHolyArrs és gratis. Si t'ha estalviat temps, dona-li una estrella a GitHub, patrocina'l o convida'm a un cafè.