-
Add the release pipeline with a tag-based manual gate and Prod stack (#89)
All checks were successfulCD / Build and push images (push) Successful in 1m5sCD / Deploy to Test (push) Successful in 9sCD / Smoke tests against Test (push) Successful in 1m6sCD / Promote to Int (push) Successful in 10sCI / Lint, typecheck, test (push) Successful in 3m33sCI / Build container images (push) Has been skippedRelease / Build release images and notes (push) Successful in 1m1sProd deploy / Deploy the released images to Prod (push) Successful in 14sCI / Auth e2e pack (push) Successful in 5m31sCI / Import/export fidelity gate (push) Successful in 47sreleased this
2026-07-12 00:17:13 +02:00 | 221 commits to main since this releasePushing vX.Y.Z builds the four semver images and publishes a Gitea
release whose notes list the changes since the previous release with a
migration call-out derived from the migrations diff (the repo is
trunk-based — commit subjects stand in for PR titles). Deploying to Prod
is a separate human act: pushing prod-vX.Y.Z- — Gitea 1.22 has
no environment approvals, so the tag push is the gate — verifies the
release images exist, pins TAG in the Prod .env, restarts the stack, and
waits for readiness; rollbacks are new suffix tags on the previous
release. The Prod stage is provisioned on ONE (ports 8120-8122, secrets
generated on the host, full backup profile); deploy/go-live.md carries
the executed mechanics and the operator checklist that blocks the DNS
switch (DNS, Caddy block, wizard/SMTP, legal texts, monitors, Prod
drill, BASEL mirror).Co-Authored-By: Claude Fable 5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_01EwZ4jR4KFAPvpjWevfUGX1Downloads