Skip to content

v1.0.0 release checklist

Use this before tagging v1.0.0. This checklist assumes a Linux/macOS host with Docker, uv, and bash.

Preflight

  • [ ] Fresh clone (or clean git status).
  • [ ] Copy .env.example → .env; leave secrets empty for no-secrets validation paths.
  • [ ] Read docs/release/v1.0.0.md non-claims section — confirm messaging matches your deployment story.

Fast static gates

  • [ ] uv sync --extra dev
  • [ ] uv run ruff check src tests
  • [ ] uv run pytest -q
  • [ ] python3 -m json.tool docker/grafana/dashboards/smoke-risk.json >/dev/null
  • [ ] bash -n scripts/*.sh
  • [ ] SMOKE_NO_COMPOSE=1 bash scripts/smoke_test.sh
  • [ ] make version
  • [ ] make release-manifest
  • [ ] make release-check

Compose-backed validation (your normal dev project)

On legacy volumes from before the canonical alert-function migration, run make repair-alert-function once if make db-doctor reports duplicate fn_alert_candidates overloads.

  • [ ] docker compose up -d postgres redpanda redpanda-console spark-master spark-worker
  • [ ] Minimal path (default): make db-bootstrap-minimal
  • [ ] Optional full census: FULL_CENSUS=1 only when you intentionally download TIGER — prefer isolated script below for automation.
  • [ ] make topics
  • [ ] make integration-smoke-test
  • [ ] make db-doctor
  • [ ] CALIBRATION_EXPORT_DRY_RUN=1 uv run python -m wildfire_smoke.export_calibration (or real export if views populated)

Optional isolated fresh-volume proof

Uses Compose project wildfire-smoke-release-test by default — does not remove normal dev volumes.

  • [ ] make release-fresh-volume-test
  • [ ] Or KEEP_RELEASE_STACK=1 make release-fresh-volume-test to inspect the isolated stack before teardown.

Optional heavy paths

  • [ ] make integration-regression (Spark-heavy; aligned fixtures + assertions)
  • [ ] make calibration-demo (Spark-heavy)

Grafana spot-check

  • [ ] make grafana-up (profile) and open docker/grafana/dashboards/smoke-risk.json provisioned dashboard — confirm calibration banner wording renders.

Tag commands (manual — do not run unless releasing)

git tag -a v1.0.0 -m "v1.0.0"
git push origin feat/bootstrap-wildfire-smoke-correlator
git push origin v1.0.0

Adjust branch name if you merge to main before tagging.