Rollback the Frontend
This document describes the process for rolling back the frontend application to a previous version in case of issues after deployment.
Overview
Unlike backend services which can be rolled back through AWS ECS, the frontend requires creating a new branch from the desired commit and triggering a manual deployment through GitHub Actions.
Rollback Process
1. Identify the Target Commit
- Navigate to the GitHub repository
- Go to the Commits page on the
mainbranch - Identify the commit that represents the stable version you want to rollback to
- Look for the last known good release tag or commit
- Review commit messages to confirm it's the correct version
2. Create a Rollback Branch
- In GitHub, navigate to the target commit
- Create a new branch based on this commit:
- Click the commit SHA
- Click the
<>(code) dropdown - Select Create branch
- Name the branch descriptively (e.g.,
rollback-to-vX.X.XXorhotfix/rollback-production)
3. Trigger Manual Deployment
- Navigate to GitHub Actions tab
- Select Prod Frontend Manual Deployment workflow
- Click Run workflow (top right)
- In the dropdown:
- Select your newly created rollback branch
- Click Run workflow to start the deployment
4. Monitor Deployment
- Watch the workflow execution in the Actions tab
- Monitor the deployment steps:
- Build process
- Test execution
- Deployment to production
- Verify the workflow completes successfully
Critical Compatibility Checks
Important
Before rolling back the frontend, verify compatibility with backend services:
Backend Service Compatibility
Does the frontend version fit with the current backend service versions?
Check for potential mismatches:
- API Endpoints: Were any endpoints added/modified/removed after the version you're rolling back to?
- DTOs (Data Transfer Objects): Have request/response formats changed?
- Authentication: Have authentication mechanisms changed?
Services with Tight Frontend Coupling
The frontend has particularly tight integration with:
- Screenflow Service
- Coding Service
When rolling back the frontend, carefully verify compatibility with these services.
Post-Rollback Verification
After deployment completes:
- [ ] Verify the frontend is running the expected version
- [ ] Test critical user flows:
- [ ] Authentication and login
- [ ] Main application features
- [ ] Integration with screenflow service
- [ ] Integration with coding service
- [ ] Check browser console for errors
- [ ] Monitor error tracking (e.g. Datadog)
- [ ] Confirm the issue is resolved