Deployment Overview
The customer web app (semalink-frontend) is hosted on Cloudflare Pages and deployed via GitHub Actions across three fully isolated environments.
Environments
Each environment has its own Cloudflare Pages project, GitHub Environment, secrets, and API endpoint.
| Environment | URL | API |
|---|---|---|
| Staging | staging-app.semalink.africa | staging-arc.semalink.africa |
| Test | test-app.semalink.africa | test-arc.semalink.africa |
| Production | app.semalink.africa | arc.semalink.africa |
Deployment Flow
Developer pushes to branch
↓
GitHub Actions picks up the push
↓
Installs deps → Builds app (secrets injected) → Uploads to Cloudflare Pages
↓
Slack notification sent (success or failure)Further Reading
- GitHub Setup — environments, secrets, workflows
- Environment Variables — what each variable does
- CI/CD Pipeline — step-by-step build process
- Cloudflare Pages — Pages projects and domains
- Slack Notifications — what gets sent and when