Deployment Overview
Sema Link runs two frontend applications, both hosted on Cloudflare Pages and deployed via GitHub Actions.
Applications
| Application | Repo | Live URL |
|---|---|---|
| Marketing Website | semalink-website | semalink.africa |
| Customer Web App | semalink-frontend | app.semalink.africa |
Environments — Customer Web App
The customer web app runs across three fully isolated environments. Each 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