Quality Gate Guide
Run the appropriate gate before every push — not just before opening a PR.Which gate to run
- Any change (code or docs):
make flux-quality-gates-static(~30s) - Code changes, no cluster:
make flux-quality-gates-tc(~2-3 min) - Code changes, cluster running:
make flux-quality-gates-staticthenmake flux-smoke-test(~1-2 min) - Docs-only, fastest feedback loop:
make flux-docs-lint(~5s)
flux-quality-gates-static runs in parallel: format,
lint (ruff, eslint, markdownlint), type check (mypy, tsc),
import validation, async hygiene, observability check,
canonical schema validation, API types freshness, and
frontend unit tests.
flux-quality-gates-tc adds backend unit + integration
tests via Testcontainers (no cluster needed).
Common mistake: skipping docs lint
Every PR that touches.md files must pass
make flux-docs-lint before push. This is already included in flux-quality-gates-static — you only need to run it standalone for docs-only changes.
Use make flux-docs-lint-fix to auto-fix most issues
(blank lines around lists/headings/fences, language
specifiers on code blocks).