CI and testing¶
Pull requests and pushes to main run .github/workflows/ci.yml:
- Lint + tests:
ruffandpytest(no API keys, no Census download, no Compose). - Smoke (host-only):
SMOKE_NO_COMPOSE=1 bash scripts/smoke_test.shafter syncing deps. - Grafana JSON: validates
docker/grafana/dashboards/smoke-risk.json. - Documentation:
make docs-check(mkdocs build --strict) with thedocsoptional dependency group.
Heavy Compose workflows live in .github/workflows/integration.yml (manual, scheduled, or label-gated).
The published documentation site is built and deployed by .github/workflows/docs.yml on pushes to main and workflow_dispatch (GitHub Pages → GitHub Actions source).
Related: Release check, Troubleshooting.