Skip to main content

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​

EnvironmentFirebase ProjectBranchFirebase Alias
Developmentpivot-dev-59310developmentdefault
Staging (QA)pivot-not-production-projectmaindefault
UATpivot-uatuatuat
Productionpivot-incproductionproduction

URLs by Environment​

Development​

PurposeURL
Web Apphttps://pivot-dev-59310.web.app/signin
Stats Dashboardhttps://pivot-dev-59310.web.app/stats
Firebase Consolehttps://console.firebase.google.com/project/pivot-dev-59310

Staging​

PurposeURL
Web Apphttps://pivot-not-production-project.web.app/signin
Stats Dashboardhttps://pivot-not-production-project.web.app/stats
Firebase Consolehttps://console.firebase.google.com/project/pivot-not-production-project

UAT​

PurposeURL
Web Apphttps://pivot-uat.web.app/signin
Stats Dashboardhttps://pivot-uat.web.app/stats
Firebase Consolehttps://console.firebase.google.com/project/pivot-uat

Production​

PurposeURL
Web Apphttps://the.pivotapp.ca/signin
Stats Dashboardhttps://the.pivotapp.ca/stats
Firebase Consolehttps://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 development first
  • Deploys automatically to pivot-dev-59310

Main Branch (main)​

  • Staging branch for QA and testing
  • Changes merged from development after 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 main after QA passes
  • Deploys automatically to pivot-uat
  • RC tags created automatically on merge

Production Branch (production)​

  • Production branch - customer-facing
  • Changes merged from uat after UAT approval
  • Manual deploy only via GitHub Actions workflow_dispatch

Stats Dashboard​

The Stats Dashboard is available in all environments:

Features​

  • View data across different companies
  • Switch between environments/branches
  • Monitor key metrics and KPIs

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:

BranchTriggerTarget ProjectActions
developmentPush/Mergepivot-dev-59310Build, Test, Deploy
mainPush/Mergepivot-not-production-projectBuild, Test, Deploy
uatPush/Mergepivot-uatBuild, Test, Deploy
productionworkflow_dispatch (manual)pivot-incBuild, 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)​

EmailPassword
yannickfarmer7@gmail.com123456

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.admin to service accounts
  • 1st Gen to 2nd Gen migration - Delete old function before deploying
  • Wrong project targeted - Check firebase use and verify account