GitHub Actions
Workflows
| File | Trigger | Scopo |
|---|---|---|
ci.yml | PR/push → dev/staging/main | Lint, validazione, compose, security |
test-frappe.yml | PR o chiamata riutilizzabile | Test Frappe 16 con MariaDB/Redis |
build-image.yml | push dev/staging/main | Test; build e push GHCR su dev/staging |
deploy-dev.yml | dopo build su dev | Webhook Dokploy dev |
deploy-staging.yml | dopo build su staging | Backup, deploy, migrate, health |
deploy-production.yml | dopo test su main | Approval, backup, promozione artifact, rollback |
block-dev-to-main.yml | PR → main | Blocca merge diretto dev→main |
docs.yml | push/PR su path docs | Build VitePress; trigger Coolify docs.factoryos.ezbit.it |
Pipeline branch
feature/* → dev → staging → mainGitHub Environments
| Environment | Branch | Protezione |
|---|---|---|
development | dev | Auto-deploy |
staging | staging | Auto-deploy |
production | main | Required reviewers |
Promozione immagine
- Build su
staging→ tagsha-<commit> - Deploy staging con quel tag
- Health check OK
- Merge
staging → maincon approval - Verifica uguaglianza degli alberi Git
mainestaging - Promozione manifest OCI
staging→main— nessun rebuild
Secrets richiesti
Vedi secrets-and-variables.md.