Problem
There is no automated deployment. After CI passes on main, someone must manually deploy the built static site. This slows down iteration and introduces risk of deploying stale builds.
Scope of Work
Create .github/workflows/deploy.yml:
- Trigger: on push to
main, only after CI workflow succeeds (use workflow_run or make it a job in the existing workflow)
- Build: run
npm run build to produce dist/
- Deploy: push
dist/ to the hosting provider
Hosting decision needed
The deployment target needs to be decided before implementation:
- GitHub Pages — simplest setup, use
actions/deploy-pages. Free for public repos.
- GCP (Cloud Run / Cloud Storage) — more control, needs OIDC auth setup with
google-github-actions/auth.
- Other (Netlify, Vercel, Cloudflare Pages) — evaluate if preferred.
Environment protection
- Use GitHub Environments with required reviewers for production (optional for initial setup)
- Store deployment credentials as repository secrets
Acceptance Criteria
Problem
There is no automated deployment. After CI passes on main, someone must manually deploy the built static site. This slows down iteration and introduces risk of deploying stale builds.
Scope of Work
Create
.github/workflows/deploy.yml:main, only after CI workflow succeeds (useworkflow_runor make it a job in the existing workflow)npm run buildto producedist/dist/to the hosting providerHosting decision needed
The deployment target needs to be decided before implementation:
actions/deploy-pages. Free for public repos.google-github-actions/auth.Environment protection
Acceptance Criteria
.github/workflows/deploy.ymlexists and deploys on push to main