Skip to main content

Release One-Page Flow + Checklist

Use this page during every release. It is designed for fast execution by humans under time pressure.

1) Flow (Simple View)

2) Human Steps

  1. Merge approved release PR to main.
  2. Immediately tag that exact commit:
git checkout main
git pull origin main
./scripts/create-release.sh 1.2.3
  1. Watch these GitHub workflows:
  • CI
  • Deploy to Production (manual approval required)
  • Release
  1. Approve production deployment when ready.
  2. Verify production:
  • https://api.almafrica.com/health
  • https://api.almafrica.com/api/version
  • https://app.almafrica.com

3) Go/No-Go Checklist

Before Merge to main

  • Staging validation completed for critical user flows
  • Known issues documented and accepted
  • Rollback impact reviewed (especially DB migrations)

Before Tagging

  • You are on main
  • Working tree is clean
  • Local main is up to date with origin/main
  • Correct semantic version chosen (X.Y.Z or X.Y.Z-rc.1)

During Deploy

  • CI finished successfully on main
  • Production approval performed by authorized reviewer
  • Coolify deployment calls returned success

After Deploy

  • API health endpoint returns 200
  • Web app responds normally
  • /api/version commit SHA matches expected commit
  • Smoke test: login + one critical business flow

4) If Something Goes Wrong

  1. Stop further approvals/releases.
  2. Decide: roll forward (preferred) or rollback.
  3. For DB rollback steps, use:
  • docs/runbooks/database-rollback.md
  1. For staging data process, use:
  • docs/runbooks/staging-data-copy.md

5) Important Current Limitations

  • Production deploy is triggered by CI on main, not directly by tag push.
  • If tag is late, deployment can use prod-<sha> instead of vX.Y.Z.
  • Pre-release tags (-beta, -rc) are currently not hard-blocked from production path.
  • Mobile store release process is separate from this flow.

6) Team Roles (Quick)

  • Developer: prepares candidate, validates changes, runs tag script.
  • Reviewer/Lead: approves merge and production deployment.
  • Ops/On-call: monitors health and drives rollback if needed.