Files
Krow-workspace/RELEASE_VISUAL_GUIDE.md
Achintha Isuru 085445e730 feat: add comprehensive release process documentation and version file references
- Introduced RELEASE_VISUAL_GUIDE.md for a visual overview of the release pipeline, including development, staging, and production phases.
- Created RELEASE_WORKFLOW.md detailing step-by-step release procedures for single and multi-product releases, including hotfix processes.
- Added VERSION_FILES_REFERENCE.md to outline all necessary version file updates for each product during releases, ensuring consistency and completeness.
2026-03-05 10:49:09 -05:00

17 KiB

Release Process Visual Guide

🔄 Release Pipeline Overview

┌─────────────────────────────────────────────────────────────────┐
│                    KROW WORKFORCE RELEASE PIPELINE              │
└─────────────────────────────────────────────────────────────────┘

┌─ DEVELOPMENT PHASE ────────────────────────────────────────────┐
│                                                                  │
│  Feature Branch Development                                      │
│        ↓                                                          │
│  Code Review & Testing                                           │
│        ↓                                                          │
│  Merge to Main                                                   │
│        ↓                                                          │
│  Automated Builds & Tests (GitHub Actions / CodeMagic)         │
│        ↓                                                          │
│  ✅ Main is always deployment-ready                             │
│                                                                  │
└──────────────────────────────────────────────────────────────────┘
                           ↓
┌─ STAGING RELEASE ──────────────────────────────────────────────┐
│                                                                  │
│  1. Create Release Branch (release/[product]-v[version])       │
│  2. Bump Version Numbers                                        │
│  3. Update CHANGELOG                                             │
│  4. Create Git Tags: */staging-v[version]                      │
│  5. Deploy to Staging Environment                               │
│  6. Run QA Tests                                                 │
│  7. Product Owner Sign-off                                       │
│                                                                  │
│  Duration: 1 week minimum                                        │
│  Cadence: Bi-weekly                                              │
│                                                                  │
└──────────────────────────────────────────────────────────────────┘
                           ↓
          ┌─ ISSUE? ──────────────────┐
          │                            ↓
          │                    Create Hotfix
          │                    Branch/Tag
          │                    (*/staging-v[X+1])
          └─ FIX & RETEST ────────────┘
                           ↓
┌─ PRODUCTION RELEASE ───────────────────────────────────────────┐
│                                                                  │
│  1. Final Verification in Staging                               │
│  2. Create Production Tags: */prod-v[version]                  │
│  3. Deploy in Dependency Order:                                 │
│     • DataConnect Schema (if applicable)                        │
│     • Command API                                                │
│     • Core API                                                   │
│     • Web Dashboard                                              │
│     • Staff Mobile                                               │
│     • Client Mobile                                              │
│  4. Smoke Tests in Production                                    │
│  5. Create GitHub Release Page                                   │
│  6. Announce to Users                                            │
│  7. Monitor for 24 hours                                         │
│                                                                  │
│  Duration: 1-2 hours deployment, 24-48 hours monitoring        │
│  Cadence: Monthly or sprint-based                                │
│                                                                  │
└──────────────────────────────────────────────────────────────────┘

Legend:
  ✅ = Ready state
  → = Next step
  ↓ = Dependency

📦 Product Dependency & Release Order

                    ┌──────────────────────┐
                    │  DataConnect Schema  │
                    │  (if applicable)     │
                    └──────────┬───────────┘
                               │
                    ┌──────────▼──────────┐
                    │  Backend Services   │
                    │                     │
                    ├─ Command API        │
                    └─ Core API           │
                               │
                ┌──────────────┼──────────────┐
                │              │              │
         ┌──────▼────┐  ┌──────▼────┐  ┌────▼──────┐
         │ Web       │  │   Staff   │  │  Client   │
         │ Dashboard │  │  Mobile   │  │  Mobile   │
         │           │  │   App     │  │   App     │
         └───────────┘  └───────────┘  └───────────┘

Critical Path (Staging → Production):
  1. DataConnect (if schema changes)
  2. APIs (Command + Core)  [parallel OK]
  3. Web Dashboard         [can wait for API confirmation]
  4. Mobile Apps           [independent, can deploy anytime]

Parallel Deployments (when safe):
  • Both backend APIs can deploy in parallel
  • Mobile apps can deploy in parallel
  • Web + Mobile can deploy in parallel (if APIs stable)

Non-Blocking:
  • Mobile can release without web changes
  • Web can release without mobile changes
  • Backend can release non-breaking API changes independently

🏷️ Git Tag Timeline Example

                    Release v1.0.0 Timeline (Coordinated)
                    
2026-03-01          2026-03-08              2026-03-15          2026-03-22
│                   │                       │                   │
├─ Code Freeze      ├─ Staging Release      ├─ Production        ├─ Next Sprint
│                   │                       │  Release           │
├─ Feature Branches ├─ */staging-v1.0.0     ├─ */prod-v1.0.0    │
│  → main           │                       │                   │
│                   ├─ QA Testing           ├─ Deploy & Verify  │
├─ All Tests #      ├─ 24h Monitoring       ├─ 48h Monitoring   │
│  Green #          │                       │                   │
│                   ├─ Product Sign-off ✓   ├─ Users Notified   │
└─ Ready ✓          └─ Approved for Prod    └─ Stable ✓         │

Key Milestones:
  # = All automated tests passing
  ✓ = Manual approval/sign-off

🔄 Release Branch Structure

┌─────────────────── main (Protected) ──────────────────┐
│                                                        │
│  feature/auth             feature/payments             │
│       ↓                         ↓                      │
│  ──●──●──●──  ──●──●──●──  ──●──●──●──   ← Feature  │
│       │            │            │          Branches   │
│       ├──────┬─────┤     ┬──────┤                     │
│       ↓      │     ↓     │      ↓                     │
│   ────●──────●─────●─────●──────●─────  ← Merge PRs │
│       │                                               │
│       ↓                                               │
│  release/staff-mobile-v0.2.0  ← Release Branch       │
│       │                                               │
│       ├─ Bump version                                 │
│       ├─ Update CHANGELOG                             │
│       ├─ Commit & merge back                          │
│       │                                               │
│  ────●●──────────────────  ← Merge back to main      │
│       │                                               │
│       ↓                                               │
│   TAG: staff-mobile/staging-v0.2.0  ← Staging Tag   │
│   TAG: staff-mobile/prod-v0.2.0     ← Prod Tag      │
│       │                                               │
│   (Deploy from tags)                                  │
│                                                        │
└────────────────────────────────────────────────────────┘

Key Points:
  • main is always clean and deployable
  • Feature branches never go to staging/prod
  • Tags point to main (after merge)
  • Releases == Git tags, not branches
  • Hotfix branches created from prod tags

📋 Multi-Product Release Coordination

Product Release States (Example: v1.0.0)

Staff Mobile:
  ├─ Dev build:      ✅ staff-mobile/dev-v1.0.0 (deployed)
  ├─ Staging:        ✅ staff-mobile/staging-v1.0.0 (testing)
  └─ Production:     🔄 staff-mobile/prod-v1.0.0 (deploying)

Client Mobile:
  ├─ Dev build:      ✅ client-mobile/dev-v1.0.0 (deployed)
  ├─ Staging:        ✅ client-mobile/staging-v1.0.0 (testing)
  └─ Production:     🔄 client-mobile/prod-v1.0.0 (deploying)

Web Dashboard:
  ├─ Dev build:      ✅ web-dashboard/dev-v1.0.0 (deployed)
  ├─ Staging:        ✅ web-dashboard/staging-v1.0.0 (testing)
  └─ Production:     ✅ web-dashboard/prod-v1.0.0 (live)

Command API:
  ├─ Dev build:      ✅ command-api/dev-v1.0.0 (deployed)
  ├─ Staging:        ✅ command-api/staging-v1.0.0 (testing)
  └─ Production:     ✅ command-api/prod-v1.0.0 (live)

Core API:
  ├─ Dev build:      ✅ core-api/dev-v1.0.0 (deployed)
  ├─ Staging:        ✅ core-api/staging-v1.0.0 (testing)
  └─ Production:     ✅ core-api/prod-v1.0.0 (live)

Legend:
  ✅ = Released and stable
  🔄 = In progress
  ⏳ = Waiting for approval
  ⛔ = Blocked/awaiting fix


Sync Points (when to coordinate):
  1. Before moving staging → prod (all ready?)
  2. During prod deployment (follow order)
  3. Post-release (all working?)
  4. If hotfix needed (which products affected?)

🚨 Hotfix Release Flow

Production Issue Detected
         │
         ↓
    ┌─────────────────┐
    │ Is it critical? │
    └────┬────────┬───┘
         │ YES    │ NO
         ↓        └─→ Plan for next release
    
    ┌─────────────────────────┐
    │ Create Hotfix Branch    │
    │ (from prod tag)         │
    └──────────┬──────────────┘
               │
               ↓
    ┌─────────────────────────┐
    │ Make Fix                │
    │ Test locally            │
    └──────────┬──────────────┘
               │
               ↓
    ┌─────────────────────────┐
    ├─ Bump PATCH version     │
    │  (e.g., 0.1.0 → 0.1.1) │
    ├─ Update CHANGELOG       │
    ├─ Commit to hotfix branch│
    └──────────┬──────────────┘
               │
               ↓
    ┌─────────────────────────┐
    │ Code Review (expedited) │
    │ Approval + merge        │
    └──────────┬──────────────┘
               │
               ↓
    ┌─────────────────────────┐
    │ Create Tag              │
    │ */prod-v0.1.1           │
    └──────────┬──────────────┘
               │
               ↓
    ┌─────────────────────────┐
    │ Deploy to Production    │
    │ (High priority)         │
    └──────────┬──────────────┘
               │
               ↓
    ┌─────────────────────────┐
    │ Verify Fix              │
    │ Monitor 24h             │
    └──────────┬──────────────┘
               │
               ↓
    ┌─────────────────────────┐
    │ Communicate to Users    │
    │ Incident Report         │
    └──────────┬──────────────┘
               │
               ↓
        ✅ Resolved

Speed target: 4-8 hours total (from detection to production verification)

📊 Version Matrix Dashboard

Create in your team wiki/notion:

╔════════════════════════════════╦═══════════╦═══════════╦═══════════╗
║ Product                        ║ Dev       ║ Staging   ║ Prod      ║
╠════════════════════════════════╬═══════════╬═══════════╬═══════════╣
║ Staff Mobile                   ║ 0.2.1     ║ 0.2.0     ║ 0.1.0     ║
║ Client Mobile                  ║ 0.2.1     ║ 0.2.0     ║ 0.1.0     ║
║ Web Dashboard                  ║ 0.1.0     ║ 0.0.0     ║ —         ║
║ Command API                    ║ 0.2.0     ║ 0.2.0-rc1 ║ 0.1.0     ║
║ Core API                       ║ 0.2.0     ║ 0.2.0-rc1 ║ 0.1.0     ║
║ DataConnect                    ║ 0.4.0     ║ 0.3.0     ║ 0.3.0     ║
╚════════════════════════════════╩═══════════╩═══════════╩═══════════╝

Last updated: 2026-03-05
Updated by: DevOps Team
Next release planning: 2026-03-08

⏱️ Release Timeline Template

For every release, create this timeline:

Release: [Product] v[Version]
Target: [date]

Milestones:
├─ Feb 28 (T-7):   Code freeze
├─ Mar  1 (T-6):   Staging release + QA testing
├─ Mar  5 (T-2):   Final staging verification
├─ Mar  6 (T-1):   Production deployment readiness
├─ Mar  7 (T-0):   Production deployment 14:00-16:00 UTC
├─ Mar  8 (T+1):   Monitoring & verification
└─ Mar  9 (T+2):   Release celebration 🎉

Deployment Windows:
  Testing:  Anytime
  Staging:  Anytime
  Prod:     14:00-16:00 UTC on release day
           (Off-peak time in all timezones)

Rollback Window: 4 hours post-deployment

🎯 Status Page Template

Share with stakeholders:

🚀 KROW Workforce Release Status

📅 Week of March 5, 2026

Current Production Versions:
├── Staff Mobile:     0.1.0 ✅
├── Client Mobile:    0.1.0 ✅
├── Web Dashboard:    TBD  ⏳
├── Command API:      0.1.0 ✅
└── Core API:         0.1.0 ✅

In Staging (Testing):
├── Staff Mobile:     0.2.0 🔄 (50% through QA)
├── Client Mobile:    0.2.0 🔄 (50% through QA)
└── Web Dashboard:    0.1.0 🔄 (30% through QA)

Next Production Release:
├── Target Date:      March 15, 2026
├── Products:         All 5 products
├── Focus:            Shift booking, payments, mobile improvements
└── Expected Impact:  2-3 hour deployment window

Risks & Blockers: None current

Recent Incidents: None

Document Version: 1.0 Created: 2026-03-05 Maintain: DevOps / Release Manager