diff --git a/.gitea/workflows/rollback.yaml b/.gitea/workflows/rollback.yaml index f31c301..c591f00 100644 --- a/.gitea/workflows/rollback.yaml +++ b/.gitea/workflows/rollback.yaml @@ -18,9 +18,12 @@ run-name: πŸ”™ Rollback by @${{ gitea.actor }} # migrations). If the tag predates a destructive migration, manual # DB intervention is needed β€” that's an edge case surfaced to DevOps. # ─────────────────────────────────────────────────────── +# Rollback wins over queued/in-progress deploys. +# It shares deploy-production with deploy.yaml so rollback and deploy never run together, +# but cancel-in-progress=true prevents a queued auto-deploy from running after rollback. concurrency: group: deploy-production - cancel-in-progress: false + cancel-in-progress: true on: workflow_dispatch: diff --git a/phases/deployment.md b/phases/deployment.md index 006f95b..3cb8b68 100644 --- a/phases/deployment.md +++ b/phases/deployment.md @@ -79,6 +79,8 @@ schedule: **Trigger**: Manuell via Gitea Actions β†’ `workflow_dispatch` +**Concurrency**: Rollback nutzt dieselbe `deploy-production`-Gruppe wie Deploy, aber mit `cancel-in-progress: true`. Dadurch gewinnt Rollback gegenΓΌber laufenden oder wartenden Deploys und verhindert, dass ein Auto-Deploy direkt nach einem Rollback den Rollback wieder ΓΌberschreibt. + **Inputs**: | Input | Typ | Beschreibung | |---|---|---| @@ -182,7 +184,7 @@ Stelle sicher, dass `.env` existiert und alle `***`-Platzhalter ersetzt sind. - [x] Automatischer Deploy nach CI-Success auf main mit Loop-Schutz via [skip ci] (2026-06-13) - [x] Safe Secret Handling: Tempfile in /tmp statt Workspace-Datei (2026-06-13) - [x] Rollback-Workflow implementiert mit Safety-Gate (2026-06-13) -- [x] Main-Deploys koennen Version-Bump + Git-Tag automatisch setzen; Non-Main-Deploys bleiben read-only (2026-06-13) +- [x] Deploy liest und validiert `VERSION`, mutiert aber keine Git-Tags oder Version-Dateien (2026-06-23) - [x] Reviewer-Handoff bei Deploy/Rollback-Fehlern (2026-06-13) - [x] Database-Backup-Workflow mit pg_dumpall + Gitea-Artifact (2026-06-13) - [x] Live-Recheck nach Deploy-Stoerung: `/health`, SPA-Root und `GET /api/dashboard/tasks` wieder 200; Bao-Folgetask zur Agent-Progress-Visibility erstellt (2026-06-20)