Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.thesozocrm.com/llms.txt

Use this file to discover all available pages before exploring further.

Release Process

This guide covers the complete process for releasing features to production safely.

Release Checklist


Release Flow

Feature Branch
    ↓ PR + Review
Dev Branch (DEV environment)
    ↓ Testing + PR + Review
Staging Branch (STAGING environment)
    ↓ QA Testing + PR + Review
Main Branch (PRODUCTION environment)

Step-by-Step Release

Step 1: Development Complete

1

Feature Complete

All code written, tests passing
2

Create PR

PR from feature branch → dev
3

Code Review

Get approval from code owner
4

Merge to Dev

Merge PR, auto-deploys to DEV

Step 2: Dev Testing

1

Test on Dev

Test feature on dev environment
2

Fix Issues

Fix any bugs found
3

Verify Stable

Ensure feature works correctly

Step 3: Promote to Staging

1

Create PR

PR from dev → staging
2

Review

Get approval
3

Merge

Merge PR, auto-deploys to STAGING

Step 4: QA Testing

1

QA Tests

QA team tests on staging
2

Fix Issues

Address any bugs found
3

QA Approval

Get QA sign-off

Step 5: Production Release

1

Create PR

PR from staging → main
2

Get Approvals

Requires 2 approvals for production
3

Merge

Merge PR, auto-deploys to PRODUCTION
4

Monitor

Watch metrics and user feedback

Feature Flag Rollout

Gradual Rollout Strategy

1

Create Feature Flag

Create flag in Firebase Console (dev)
2

Start Small

Set rollout to 10% in production
3

Monitor

Watch error rates, user feedback
4

Increase Gradually

If no issues: 10% → 25% → 50% → 100%
5

Full Rollout

Once stable, enable boolean flag or set to 100%

Rollout Timeline

Week 1: 10% rollout + beta testers
  ↓ Monitor
Week 2: 25% rollout (if no issues)
  ↓ Monitor
Week 3: 50% rollout
  ↓ Monitor
Week 4: 100% rollout or enable boolean flag

Monitoring After Release

Metrics to Watch

Error Rates

Monitor Sentry, Firebase logs

User Feedback

Watch support tickets, user complaints

Performance

Check load times, API response times

Feature Usage

Track feature adoption rates

Business Metrics

Monitor conversions, revenue impact

System Health

Check server resources, database performance

Monitoring Tools

  • Sentry - Error tracking
  • Firebase Console - Logs and analytics
  • Vercel Analytics - Performance metrics
  • User Feedback - Support tickets, surveys

Rollback Plan

Before Release

  1. Document Rollback Steps
    • How to disable feature flag
    • How to revert code (if needed)
    • Who to notify
  2. Test Rollback
    • Practice rollback in dev/staging
    • Verify rollback works
  3. Prepare Communication
    • User notification (if needed)
    • Team communication plan

During Release

  1. Monitor Closely
    • Watch metrics for first hour
    • Be ready to rollback immediately
  2. Have Rollback Ready
    • Feature flag ready to disable
    • Code revert PR ready (if needed)

Release Communication

Internal Communication

Before Release:
  • Notify team of upcoming release
  • Share release notes
  • Set monitoring schedule
During Release:
  • Update team on progress
  • Share any issues found
After Release:
  • Share success metrics
  • Document learnings

User Communication (If Needed)

For Major Features:
  • In-app notifications
  • Email announcements
  • Help documentation updates

Best Practices

Release During Business Hours

Release when team is available

One Feature Per Release

Keep releases focused

Test in Staging First

Always test in staging before production

Have Rollback Ready

Always have rollback plan

Monitor Closely

Watch metrics for first 24 hours

Document Everything

Document releases and learnings

Release Template

PR Description Template

## Release: [Feature Name]

### Changes
- Added X feature
- Fixed Y bug
- Updated Z component

### Testing
- [ ] Tested in dev
- [ ] Tested in staging
- [ ] QA approved

### Feature Flags
- Flag: `enableNewFeature`
- Rollout: 10% initially

### Rollback Plan
- Disable `enableNewFeature` flag
- Revert PR if needed

### Monitoring
- Watch error rates
- Monitor user feedback