Files
Krow-workspace/RELEASE_PACKAGE_SUMMARY.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

14 KiB

Release Strategy - Complete Package Summary

Created: 2026-03-05
Status: Ready for Implementation
Document Set: Complete & Integrated


📚 What Was Created

A complete, production-ready release and tagging strategy for the KROW Workforce monorepo with 5 independent products.

Documents Included

1. RELEASE_STRATEGY.md 📖

Purpose: The canonical strategy document
Contents:

  • Semantic versioning approach (SemVer)
  • Git tag naming convention
  • Release cadence (dev/staging/prod)
  • Deployment dependency order
  • Release checklist
  • Protected tag rules
  • Version file locations
  • Rollback procedures

Audience: Technical leads, team members planning releases
Length: ~300 lines
Use When: Making strategic decisions about releases


2. RELEASE_WORKFLOW.md 🔧

Purpose: Step-by-step execution guide
Contents:

  • Quick start release (single product)
  • Multi-product coordinated release
  • Hotfix procedure
  • Useful git commands
  • Automation scripts to create
  • Release checklist template

Audience: Developers and release engineers executing releases
Length: ~400 lines
Use When: Actually performing a release


3. RELEASE_IMPLEMENTATION.md 🚀

Purpose: Setup and first-release guide
Contents:

  • Phase 1: Initial setup (create baseline tags)
  • Phase 2: GitHub configuration (branch protection)
  • Phase 3: CI/CD integration
  • Phase 4: Release documentation
  • Phase 5: Team training
  • Phase 6: First real release walkthrough
  • Communication plan
  • Troubleshooting

Audience: DevOps/Release engineering team
Length: ~500 lines
Use When: Setting up the release process for the first time


4. RELEASE_VISUAL_GUIDE.md 📊

Purpose: ASCII diagrams and visual references
Contents:

  • Release pipeline overview (flowchart)
  • Product dependency diagram
  • Git tag timeline example
  • Release branch structure diagram
  • Multi-product release coordination
  • Hotfix flow diagram
  • Version matrix dashboard template
  • Release timeline template
  • Status page template

Audience: Everyone (visual learners, quick reference)
Length: ~400 lines
Use When: Understanding the flow, presentations, team communication


5. RELEASE_QUICK_REFERENCE.md 🎯

Purpose: One-page quick reference (print-friendly)
Contents:

  • Quick commands
  • Tag naming format
  • Pre-tag checklist
  • Quick release steps
  • Version file locations
  • Release timeline table
  • Common tasks with code examples
  • Deployment order
  • Red flags to avoid
  • Troubleshooting

Audience: All team members
Length: ~200 lines
Use When: Quick lookup while working

💡 Tip: Print this and pin to your desk!


6. VERSION_FILES_REFERENCE.md 📝

Purpose: Exact file locations and update instructions
Contents:

  • Staff Mobile pubspec.yaml location
  • Client Mobile pubspec.yaml location
  • Web Dashboard package.json location
  • Command API package.json location
  • Core API package.json location
  • DataConnect schema version (if applicable)
  • CHANGELOG.md (all products)
  • Release checklist per product
  • Version update template script
  • Common mistakes
  • Pro tips

Audience: Developers doing version bumps
Length: ~350 lines
Use When: Updating version numbers for a release


🎯 How to Use This Package

For Your First Release

  1. Read RELEASE_STRATEGY.md (strategic overview)
  2. Follow RELEASE_IMPLEMENTATION.md (Phase 1-6 setup)
  3. Reference VERSION_FILES_REFERENCE.md (exact files to update)
  4. Execute RELEASE_WORKFLOW.md (step-by-step)
  5. Check RELEASE_VISUAL_GUIDE.md (understand the flow)
  6. Keep RELEASE_QUICK_REFERENCE.md handy

For Ongoing Releases

Quick path:

  1. RELEASE_QUICK_REFERENCE.md - Commands & checklist
  2. VERSION_FILES_REFERENCE.md - Which files to update
  3. RELEASE_WORKFLOW.md - Copy the relevant section
  4. RELEASE_VISUAL_GUIDE.md - Verify deployment order

For Team Training

  1. Share RELEASE_STRATEGY.md with team
  2. Show RELEASE_VISUAL_GUIDE.md diagrams
  3. Walk through RELEASE_WORKFLOW.md quick start
  4. Provide RELEASE_QUICK_REFERENCE.md as handout
  5. Reference VERSION_FILES_REFERENCE.md when needed

For CI/CD Setup

  1. Review automation sections in RELEASE_WORKFLOW.md
  2. Set up GitHub branch protection per RELEASE_IMPLEMENTATION.md
  3. Configure CodeMagic per RELEASE_STRATEGY.md

🏷️ Quick Reference: Tag Naming

Format: <product>/<environment>-v<version>

Staff Mobile Example:     staff-mobile/prod-v1.0.0
Client Mobile Example:    client-mobile/prod-v1.0.0
Web Dashboard Example:    web-dashboard/staging-v0.1.0
Command API Example:      command-api/dev-v0.2.0
Core API Example:         core-api/prod-v0.1.0

Environments:
  dev      → Development releases (daily/weekly)
  staging  → Pre-production releases (bi-weekly)
  prod     → Production releases (monthly)

📊 Current Baseline Versions

Based on your repository state (2026-03-05):

Product Current Version Status
Staff Mobile 0.1.0 Development
Client Mobile 0.1.0 Development
Web Dashboard 0.0.0 Pre-release
Command API 0.1.0 Development
Core API 0.1.0 Development

Next Releases:

  • Q1 2026: v0.2.0 (staging)
  • Q2 2026: v1.0.0 (production)

🚀 Immediate Next Steps

This Week (2026-03-05)

Next Week (2026-03-08)

  • Follow RELEASE_IMPLEMENTATION.md Phase 1-2
  • Create initial dev tags (baseline v0.1.0)
  • Configure GitHub branch protection for prod tags
  • Train team on new process

Week of Release (2026-03-15)

Within 30 Days

  • First production release (any product)
  • Establish release cadence
  • Document any customizations
  • Refine process based on learnings

Feature Checklist

This release strategy includes:

  • Semantic Versioning (SemVer) - Industry standard
  • Product-specific Tags - Independent version tracking
  • Environment Separation - dev/staging/prod releases
  • Dependency Management - Clear deployment order
  • Rollback Procedures - Handling production issues
  • Hotfix Process - Emergency fixes
  • Branch Protection - GitHub security rules
  • Documentation - Comprehensive guides
  • Templates - Checklists and scripts
  • Visual Diagrams - Process flows
  • Quick Reference - Print-friendly guide
  • Version File Map - Exact file locations
  • Communication Plan - Stakeholder updates
  • Team Training - Learning materials
  • Automation Scripts - CI/CD integration

📋 File Structure

Repository Root
├── RELEASE_STRATEGY.md              ← Strategic overview
├── RELEASE_WORKFLOW.md              ← Step-by-step execution
├── RELEASE_IMPLEMENTATION.md        ← Setup guide
├── RELEASE_VISUAL_GUIDE.md          ← Diagrams & flows
├── RELEASE_QUICK_REFERENCE.md       ← One-page reference
├── VERSION_FILES_REFERENCE.md       ← File locations
│
├── CHANGELOG.md                     ← Version history (existing)
├── codemagic.yaml                   ← CI/CD config (existing)
│
└── apps/
    ├── mobile/
    │   ├── apps/
    │   │   ├── staff_app/pubspec.yaml      ← Staff Mobile version
    │   │   └── client_app/pubspec.yaml     ← Client Mobile version
    │   └── ...
    │
    └── web/
        └── package.json             ← Web Dashboard version

backend/
├── command-api/package.json         ← Command API version
└── core-api/package.json            ← Core API version

🔐 Security & Best Practices

Branch Protection

  • Production tags (prod-v*) require pull request review
  • Require status checks to pass
  • Require branches up-to-date
  • Prevent force pushes

Rollback Safety

  • Always keep previous version available
  • Test rollback procedure regularly
  • Document rollback steps
  • Communicate with users

Change Tracking

  • CHANGELOG.md for all product updates
  • Git history for code changes
  • Tags for release checkpoints
  • GitHub Releases for user communication

💡 Tips for Success

1. Start Small

Begin with a single product release (e.g., Staff Mobile v0.2.0) to practice the process.

2. Establish Rhythm

Consistent release cadence makes it easier for everyone:

  • Dev: Weekly
  • Staging: Bi-weekly
  • Prod: Monthly

3. Automate Wisely

Start manual to understand the process, then automate repetitive tasks.

4. Communicate Early

Announce release plans before deployment, not after.

5. Monitor Actively

24-hour post-release monitoring catches issues early.

6. Document Learnings

Update these guides based on real experience with your releases.


🐛 Troubleshooting

I'm confused about which file to edit

→ See VERSION_FILES_REFERENCE.md

I need step-by-step release instructions

→ See RELEASE_WORKFLOW.md

I need git commands

→ See RELEASE_QUICK_REFERENCE.md

I need to understand the overall strategy

→ See RELEASE_STRATEGY.md

I need to set up the process for the first time

→ See RELEASE_IMPLEMENTATION.md

I need visual diagrams

→ See RELEASE_VISUAL_GUIDE.md


📞 Additional Resources

External References


👥 Team Roles

Release Manager

  • Plans release schedule
  • Creates tags
  • Coordinates deployment
  • Monitors post-release

Developers

  • Ensure code is release-ready
  • Update version files per checklist
  • Update CHANGELOG
  • Test releases

DevOps/Infrastructure

  • Configure branch protection
  • Set up CI/CD automations
  • Deploy to environments
  • Monitor infrastructure

Product Owner

  • Approves staging releases
  • Signs off before production
  • Communicates with users
  • Handles rollback decisions

QA Team

  • Tests staged releases
  • Verifies production deployments
  • Reports issues
  • Validates rollbacks

📊 Success Metrics

Track these metrics for each release:

  • Lead Time: Time from commit to production
  • Deployment Frequency: How often you release
  • Change Failure Rate: % of releases needing rollback
  • Mean Time to Recovery: Time to fix issues
  • Automation Coverage: % of tasks automated
  • User Adoption: % of users on latest version
  • Issue Detection: Time from deployment to issue detection

🎓 Knowledge Sharing

For New Team Members

  1. Have them read RELEASE_STRATEGY.md
  2. Run through RELEASE_WORKFLOW.md together
  3. Have them perform a dev release under supervision
  4. Give them RELEASE_QUICK_REFERENCE.md as reference

For Leadership

Share RELEASE_VISUAL_GUIDE.md status page template to track releases across products.

For Stakeholders

Use templates provided to communicate:

  • Release announcements
  • Feature summaries
  • Deployment windows
  • Known issues

📅 Release Calendar Template

March 2026
┌─────────────────────────────────────┐
│ 01 (Sun)  Code Freeze              │
│ 05 (Thu)  Staging Release (0.2.0)  │
│ 08 (Sun)  QA Complete              │
│ 15 (Sun)  Production Release       │
│ 22 (Sun)  Monitoring & Stability   │
│ 29 (Sun)  Next Cycle Begins        │
└─────────────────────────────────────┘

Every Monday: Release Sync Meeting
Every Friday: Status Update
Rolling: Release documentation updates

Next Phase

Once this strategy is implemented and proven with 2-3 releases:

  1. Automation: GitHub Actions to auto-tag on version change
  2. Metrics: Dashboard tracking deployment metrics
  3. Communication: Slack/email bot announcing releases
  4. Deployment: Fully automated deployments per product
  5. Analytics: Track adoption and issue post-release

📝 Document Maintenance

When to update these guides:

  • After every major release (capture learnings)
  • When process changes
  • When team feedback warrants updates
  • When new tools are integrated
  • When scaling to new products

Who maintains:

  • DevOps/Release engineering team
  • Approved by: Technical leads, Product management

Review Cycle:

  • Quarterly review of all documents
  • Monthly: CHANGELOG.md updates
  • As-needed: Bug fixes, clarifications

🎉 You're Ready!

This complete release strategy is ready to implement. Start with RELEASE_IMPLEMENTATION.md and follow the phases.

Questions?

Let's ship v1.0.0! 🚀


Package Version: 1.0
Created: 2026-03-05
Last Updated: 2026-03-05
Status: Ready for Production
Maintainer: DevOps/Release Engineering Team