Environments & Branches
This page documents Pivot's four environments: Development, Staging, UAT, and Production. Each environment has its own Firebase project, branch, and deployment URLs.
Environment Overview
| Environment | Firebase Project | Branch | Firebase Alias |
|---|---|---|---|
| Development | pivot-dev-59310 | development | default |
| Staging (QA) | pivot-not-production-project | main | default |
| UAT | pivot-uat | uat | uat |
| Production | pivot-inc | production | production |
URLs by Environment
Development
| Purpose | URL |
|---|---|
| Web App | https://pivot-dev-59310.web.app/signin |
| Stats Dashboard | https://pivot-dev-59310.web.app/stats |
| Firebase Console | https://console.firebase.google.com/project/pivot-dev-59310 |
Staging
| Purpose | URL |
|---|---|
| Web App | https://pivot-not-production-project.web.app/signin |
| Stats Dashboard | https://pivot-not-production-project.web.app/stats |
| Firebase Console | https://console.firebase.google.com/project/pivot-not-production-project |
UAT
| Purpose | URL |
|---|---|
| Web App | https://pivot-uat.web.app/signin |
| Stats Dashboard | https://pivot-uat.web.app/stats |
| Firebase Console | https://console.firebase.google.com/project/pivot-uat |
Production
| Purpose | URL |
|---|---|
| Web App | https://the.pivotapp.ca/signin |
| Stats Dashboard | https://the.pivotapp.ca/stats |
| Firebase Console | https://console.firebase.google.com/project/pivot-inc |
Branch Strategy
development (default) → main (staging) → uat → production (manual deploy only)
Development Branch (development)
- Default branch for all new work
- Feature branches are created from
development - Pull requests target
developmentfirst - Deploys automatically to
pivot-dev-59310
Main Branch (main)
- Staging branch for QA and testing
- Changes merged from
developmentafter initial testing - Deploys automatically to
pivot-not-production-project - RC tags created automatically on merge (format:
rc-YYYY-MM-DD[-revN]) - Draft GitHub release created with changelog since last production release
UAT Branch (uat)
- UAT branch for user acceptance testing
- Changes merged from
mainafter QA passes - Deploys automatically to
pivot-uat - RC tags created automatically on merge
Production Branch (production)
- Production branch - customer-facing
- Changes merged from
uatafter UAT approval - Manual deploy only via GitHub Actions
workflow_dispatch
Stats Dashboard
The Stats Dashboard is available in all environments:
- Dev: https://pivot-dev-59310.web.app/stats
- Staging: https://pivot-not-production-project.web.app/stats
- Production: https://the.pivotapp.ca/stats
Features
- View data across different companies
- Switch between environments/branches
- Monitor key metrics and KPIs
Related Projects
For advanced analytics and KPI dashboards, see the pivot-kpi project which provides:
- Stripe data integration via BigQuery
- HubSpot sync capabilities
- Detailed revenue and subscription metrics
CI/CD Pipeline
Each branch has automatic deployment via GitHub Actions:
| Branch | Trigger | Target Project | Actions |
|---|---|---|---|
development | Push/Merge | pivot-dev-59310 | Build, Test, Deploy |
main | Push/Merge | pivot-not-production-project | Build, Test, Deploy |
uat | Push/Merge | pivot-uat | Build, Test, Deploy |
production | workflow_dispatch (manual) | pivot-inc | Build, Test, Deploy |
Branch Protection
All protected branches require:
- 1 code review before merging
- CI checks to pass (
frontend,build-and-test,enforce-coverage,Jira Ticket Required) - No force pushes allowed
- Admins can bypass for emergencies
- Hotfixes on main/uat/production trigger automatic backport PRs to development
Test Accounts (Dev & Staging)
| Password | |
|---|---|
| yannickfarmer7@gmail.com | 123456 |
Invitation code: SfYf8080
Troubleshooting
For common deployment issues and their solutions, see the Deployment Troubleshooting Guide in pivot-devops.
Common issues:
- Cloud Tasks permission errors - Add
roles/cloudtasks.adminto service accounts - 1st Gen to 2nd Gen migration - Delete old function before deploying
- Wrong project targeted - Check
firebase useand verify account