GitHub Setup
Repository
URL: github.com/Sema-Link/semalink-frontend
Branch Strategy
| Branch | Purpose | Triggers Deploy |
|---|---|---|
main | Primary development branch — all PRs merge here | No |
staging | Internal QA and pre-release testing | deploy-staging.yml |
test | External testing / client previews | deploy-test.yml |
prod | Live production | deploy-prod.yml |
GitHub Environments
Each deployment environment is isolated using GitHub Environments (Settings → Environments). Secrets inside an environment are only available to workflows that declare environment: <name> — so production secrets are never accessible during a staging build.
Environments configured
stagingtestprod
Each holds 6 secrets — see Secrets Reference for the full list.
Secret values are write-only
Once saved in GitHub, secret values cannot be read back. Keep a record of all credentials in your team's password manager. To rotate, generate a new credential from the source and overwrite the secret.
Workflow Files
Three workflow files live in .github/workflows/:
| File | Trigger | Environment | CF Pages Project |
|---|---|---|---|
deploy-staging.yml | Push to staging or manual | staging | semalink-app-staging |
deploy-test.yml | Push to test or manual | test | semalink-app-test |
deploy-prod.yml | Push to prod or manual | prod | semalink-app |
All three support workflow_dispatch — any developer with repo access can manually trigger from GitHub → Actions → Run workflow.