π Rollback Procedure
Emergency rollback procedures for Airo Super App releases.
β‘ Quick Rollback Commands
GitHub Release Rollback
# 1. Get previous stable version tag
git tag -l "v*" --sort=-v:refname | head -5
# 2. Create rollback release (points to previous version)
gh release create v<VERSION>-rollback \
--title "Rollback to v<PREVIOUS_VERSION>" \
--notes "Emergency rollback from v<BROKEN_VERSION>"
APK Rollback (Direct)
# Download previous APK from releases
curl -L -o app-previous.apk \
"https://github.com/DevelopersCoffee/airo/releases/download/v<VERSION>/app-release.apk"
π Rollback Decision Matrix
| Severity |
Symptoms |
Action |
Timeline |
| π΄ Critical |
Crash on launch, data loss |
Immediate rollback |
<1 hour |
| π High |
Major feature broken |
Planned rollback |
<4 hours |
| π‘ Medium |
Minor bugs, degraded UX |
Hotfix preferred |
<24 hours |
| π’ Low |
Cosmetic issues |
Next release |
Normal cycle |
Step 1: Assess Impact
# Check crash reports (if integrated)
# Monitor user feedback
# Check analytics for drop-off
Step 2: Notify Team
- Post in team channel
- Tag release manager
- Document issue symptoms
Step 3: Execute Rollback
Option A: GitHub Release (Recommended)
# Mark current release as pre-release (hides from latest)
gh release edit v<BROKEN_VERSION> --prerelease
# Verify previous release is now "latest"
gh release list
Option B: Revert Commit
# Create revert commit
git revert HEAD
git push origin main
# Re-tag with rollback marker
git tag -a v<VERSION>-reverted -m "Reverted due to <ISSUE>"
git push origin v<VERSION>-reverted
Option C: Re-release Previous Version
# Checkout previous stable tag
git checkout v<PREVIOUS_VERSION>
# Create new release tag
git tag -a v<NEW_VERSION>-stable -m "Stable re-release"
git push origin v<NEW_VERSION>-stable
Play Store (Android)
- Go to Google Play Console
- Navigate to Release > Production
- Click βManageβ on problematic release
- Select βHalt rolloutβ or set to 0%
- Create new release with previous AAB
- Resume staged rollout
App Store (iOS)
- Go to App Store Connect
- Remove from sale (if critical)
- Submit expedited review for fix
- Or revert to previous build
Web
# Deploy previous web build
cd app
git checkout v<PREVIOUS_VERSION>
flutter build web --release
# Deploy to hosting (Firebase/Vercel/etc.)
π Version Retention Policy
| Type |
Retention |
Location |
| Release APKs |
90 days |
GitHub Releases |
| Debug APKs |
5 days |
GitHub Actions Artifacts |
| Source Tags |
Permanent |
Git repository |
| Changelogs |
Permanent |
Repository + GitHub Pages |
β
Post-Rollback Checklist
π Rollback Log Template
## Rollback Record
**Date**: YYYY-MM-DD HH:MM UTC
**From Version**: v__.__.__
**To Version**: v__.__.__
**Reason**:
**Impact**:
**Duration**:
**Root Cause**:
**Prevention**:
**Performed By**: