Deployment Checklist
Use this checklist before every production deployment to ensure nothing is missed.Pre-deployment
Environment variables configured
Verify all required environment variables are set in production:
| Variable | Service | Required |
|---|---|---|
SUPABASE_URL | Backend | Yes |
SUPABASE_SERVICE_ROLE_KEY | Backend | Yes |
JWT_SECRET | Backend | Yes |
GROQ_API_KEY | Backend | Yes |
ASPNETCORE_ENVIRONMENT | Backend | Recommended |
BACKEND_URL | Admin Panel | Yes |
All variables set and verified
Database schema up to date
Confirm all tables exist in the Supabase Required tables:
public schema:users, ai_models, threads, thread_messages, comparisons, model_votes, providers, provider_api_keys, system_settingsAll 9 tables present
Active models configured
Ensure at least 2 active models exist for arena mode:
At least 2 active models available
Provider API keys valid
Verify API keys are set and not expired:
Each provider has at least 1 active API key
Deployment
Deploy backend to Azure
- CI/CD (Recommended)
- Manual
Push to Monitor the deployment in GitHub Actions.
main branch — GitHub Actions handles the rest:Backend deployed successfully
Post-deployment verification
Arena mode functional
Send a test message in arena mode and verify two model responses are returned.
Dual responses received
Frontend loads correctly
Visit
https://arena.dualmindlab.tech and verify:- Page loads without console errors
- Login flow works
- Chat interface renders
- Dark mode toggles correctly
Frontend fully functional
Admin panel accessible
Log in to the admin panel and verify dashboard data loads.
Admin panel operational
Rollback plan
- Backend Rollback
- Frontend Rollback
Redeploy the previous version from Azure App Service → Deployment Center → select previous deployment.Or revert the Git commit:
Always keep the previous deployment artifacts available for at least 48 hours after a new deployment.