Saltar al contingut

Contribuir

Configuració

Fes un canvi petit al lloc correcte i envia’l com a pull request.

  • 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
  1. 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.

  2. Fes el canvi a app/backend/internal/<module>/ i app/frontend/src/lib/<module>/. Limita’l a una correcció o a una funció.

  3. Compila l’app web, després el programa, i prova el canvi al navegador. Mira Configuració.

  4. Executa les comprovacions de Proves.

    No hauries de veure cap fallada.

  5. Si has canviat una pàgina, executa el seu projecte d’extrem a extrem, per exemple npm --prefix app/frontend run e2e -- --project=movies.

  6. 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.

  7. 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.

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.

Sí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.

Regles 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*.go d’un mòdul, sobre les taules d’aquell mòdul.
  • Una part web va a lib/ui només quan la fan servir 2 o més mòduls.
  • Cap paquet util, common, shared ni helpers.
  • 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.

HolyArrs és gratis. Si t'ha estalviat temps, dona-li una estrella a GitHub, patrocina'l o convida'm a un cafè.