Deployment Environments
This document describes all deployment environments and their configurations.
Note: For local development environment variable setup, see
ENV_VARIABLES.md.
Overview
| Environment | Trigger | Firebase Project | Hosting Site | URL |
|---|---|---|---|---|
| Development | Push to main branch | seed-start-7255a | seed-start-7255a | https://seed-start-7255a.web.app |
| Production | Push version tag (v*.*.*) | seedstart-world | seedstart-world | https://app.seedstart.space |
Development Environment
Configuration
- Firebase Project:
seed-start-7255a - Hosting Site:
seed-start-7255a - Deployment Trigger: Push to
mainbranch - API URL:
https://api-xwzj77tlfa-uc.a.run.app
What Gets Deployed
- Firebase Hosting (frontend) via
deploy-frontend-dev.yml - Cloud Functions (API) via
deploy-functions-dev.yml - Admin Hosting via
deploy-admin-dev.yml - Firestore Security Rules and Indexes
GitHub Secrets Required
DEV_VITE_PUBLIC_APIKEYDEV_VITE_PUBLIC_AUTHDOMAINDEV_VITE_PUBLIC_PROJECTIDDEV_VITE_PUBLIC_STORAGEBUCKETDEV_VITE_PUBLIC_MESSAGINGSENDERIDDEV_VITE_PUBLIC_APPIDDEV_VITE_PUBLIC_MEASUREMENT_IDDEV_VITE_PUBLIC_VAPID_KEYDEV_VITE_PUBLIC_APPCHECK_SITE_KEYDEV_FIREBASE_SERVICE_ACCOUNT(service account JSON)
Production Environment
Configuration
- Firebase Project:
seedstart-world - Hosting Site:
seedstart-world - Deployment Trigger: Push version tag matching
v*.*.* - API URL:
https://api-r47rywulkq-uc.a.run.app
What Gets Deployed
- Firebase Hosting (frontend) via
deploy-prod.yml - Cloud Functions (API) via
deploy-functions-prod.yml - Admin Hosting via
deploy-admin-prod.yml - Firestore Security Rules and Indexes
GitHub Secrets Required
PROD_VITE_PUBLIC_APIKEYPROD_VITE_PUBLIC_AUTHDOMAINPROD_VITE_PUBLIC_PROJECTIDPROD_VITE_PUBLIC_STORAGEBUCKETPROD_VITE_PUBLIC_MESSAGINGSENDERIDPROD_VITE_PUBLIC_APPIDPROD_VITE_PUBLIC_MEASUREMENT_IDPROD_VITE_PUBLIC_VAPID_KEYPROD_VITE_PUBLIC_APPCHECK_SITE_KEYPROD_VITE_PUBLIC_SERVICE_ACCOUNT(service account JSON)PROD_VITE_API_URL(prod Cloud Run API URL)
Cloud Functions / API
The Express API source is in functions/ within this monorepo. Key details:
- Dev: Deployed automatically to
seed-start-7255aviadeploy-functions-dev.yml - Prod: Deployed to
seedstart-worldviadeploy-functions-prod.yml(tag-triggered) - Frontend communicates with the API via
VITE_API_URL(no fallbacks)
How to Release to Production
bash
git checkout main
git pull
git tag v1.0.X
git push origin v1.0.XThis triggers deploy-prod.yml which deploys exactly that tag.
Rollback
Redeploy a previous version tag by re-running the workflow for that tag in GitHub Actions.