Vai al contenuto

GitHub Actions ed Environments

A cosa serve

GitHub Actions esegue la CI non mutante e i workflow remoti espressamente definiti dal repository. GitHub Environments isola credenziali ed esecuzione per sviluppo e produzione.

Componenti che lo usano

  • ci.yml per pull request, push a main e dispatch manuale;
  • development-operations.yml;
  • production-operations.yml;
  • steady-state-frontend-deployment.yml;
  • GitHub App come unico dispatcher applicativo del workflow steady-state.

Dati e artefatti scambiati

Actions riceve checkout, input tipizzati, conferme e credenziali Environment; produce log, check, build, dry-run, run ID e conclusione. Non deve ricevere recipient data o contenuto editoriale privato.

Autenticazione e autorizzazione

GitHub autentica actor e workflow; Environment limita secret e target. Il repository limita branch, operation e confirmation. Questi controlli non sostituiscono l'Issue operativo o l'approvazione applicativa di produzione.

Cosa possiede il provider

GitHub possiede runner, workflow run, check, Environment, secret storage e audit del provider.

Cosa possiede Architecture Coffee

Il repository possiede YAML, trigger, permissions, input, concurrency, preflight e comandi. Fra possiede ordine e go/no-go; l'API possiede le azioni steady-state e l'evidenza D1.

Operazioni automatiche, manuali e protette

CI parte automaticamente su PR/push ma valida soltanto. Le operazioni remote sono workflow_dispatch, una per run, su main, con Environment e conferma esatti. Il workflow steady-state è dispatchato dal server dopo i gate previsti.

Fallimenti e comportamento fail-closed

Ref, operation o confirmation non corrispondenti saltano il job. Concurrency evita sovrapposizione nello stesso ambiente. Un check verde non autorizza la mutazione; un run ambiguo non è successo.

Verifiche operative

  • permissions contents: read per CI;
  • assenza di Environment e segreti remoti in CI;
  • trigger solo manuale per operazioni;
  • ref main, input e confirmation esatti;
  • concorrenza distinta per ambiente;
  • run terminale collegato allo SHA richiesto.

Riferimenti canonici