Vai al contenuto

GitHub Actions ed Environments

A cosa serve

ci.yml valida test, tipi, build, dry-run, documentazione e artefatti generati; non riceve segreti o Environment di produzione e non muta risorse remote.

Componenti che lo usano

Pull request, main e operatori autorizzati.

Dati e artefatti scambiati

Commit, metadata PR, log sanitizzati e artefatti di validazione.

Autenticazione e autorizzazione

CI è read-only; gli Environment proteggono le operazioni manuali.

Cosa possiede il provider

GitHub possiede esecuzioni, approvazioni Environment e log.

Cosa possiede Architecture Coffee

Il repository possiede workflow, conferme e contratti di validazione.

Operazioni automatiche, manuali e protette

development-release.yml promuove l'exact SHA di CI in Development; production-release.yml promuove soltanto un tag canonico eleggibile. Il job Production riceve le credenziali Cloudflare e il solo mode email non-secret dall'Environment protetto, lo valida prima di qualsiasi migration/upload e usa upload/deploy di versioni senza distribuire trigger. I workflow operations manuali espongono soltanto preflight non mutanti. Nessun gate chiama Mailjet e nessun workflow di deploy web è attivo.

Fallimenti e comportamento fail-closed

Input, branch, tag, Environment, provenienza Worker o mode email errati impediscono il job. Un mode protetto assente/invalido termina prima di D1 o upload; un upload/deploy ambiguo viene riletto e non ritentato.

Verifiche operative

Leggere check CI e l'evidenza Issue-native senza dedurre autorizzazione.

Riferimenti canonici

.github/workflows/, AGENTS.md e docs/operating-guide.md.

La selezione backend resta nelle Issue native e nel Project #1; il frontend usa Project #2. Project #3 è archiviato. Status pianifica il lavoro e non viene interrogato da CI, build o deploy. Un workflow riuscito non sostituisce la review e il merge Fra dell'Issue: il merge è il gate umano, il workflow è un meccanismo tecnico entro quello scope.