YOLOZU uses a tiered CI dependency model to keep signal high while avoiding optional-extras combination explosion.
Default cost policy:
- Pull requests run lightweight Ubuntu checks: docs/metadata gates, runtime smoke, and focused quality tests.
- Pushes to
mainrun the full CPU evaluation gate, including Python matrix and full unittest discovery. - GPU checks stay on Ubuntu/Linux GPU runners and run only by manual dispatch.
- macOS is reserved for release-time wheel build validation only.
- Expensive full/fuzz/regression sweeps are manual-only unless there is an explicit release or incident reason to re-enable a schedule.
core
- Install:
python3 tools/ci/install_with_hashes.py --requirements requirements-locks/requirements-runtime.lock --install-local-wheel - Purpose: packaging and CLI/runtime smoke only.
- Jobs:
smoke_gate;pip_smokeis main-push only.
docs_mcp
- Install:
python3 tools/ci/install_with_hashes.py --requirements requirements-locks/requirements-docs-actions.lock, thenpython3 tools/ci/install_with_hashes.py --requirements requirements-locks/requirements-web-docs.lock - The web-docs candidate gate sets
YOLOZU_REQUIRE_REAL_COCO=1; a missingpycocotoolsinstallation is a failure, not a dry-run fallback. - Purpose: docs/manual/README and MCP/Actions surface checks without running full runtime regression gates.
- Jobs:
docs_mcp_gate.
workflows_meta
- Install: none beyond stock Python on the runner.
- Purpose: release/security workflow regression checks for
.github/workflows/**-only changes. - Jobs:
workflows_meta.
recommended
- Install:
python3 tools/ci/install_with_hashes.py --requirements requirements-locks/requirements-ci.lock - Purpose: pinned interface contract/behavior gates (
schema,manifest,reference regression, deep smoke walkthrough, focused tests). - Jobs:
quality_gate;testis main-push only.
full
- Purpose: GPU/backend matrix (TensorRT/CUDA/provider parity, full reference regression profile).
- Trigger: manual dispatch only.
- Workflows:
gpu_smoke_machine.yml,gpu_practical_suite_machine.yml,gpu_zisn_pipeline.yml,reference_adapter_full.yml,cflite_batch.yml.
release
- Purpose: publish-time packaging confidence, including macOS wheel build validation before the Ubuntu publish job.
- Workflows:
publish.yml,container.yml,manual_doi.yml,announce_release.yml.
corecatches packaging/runtime breakages cheaply.docs_mcpvalidates docs/MCP changes quickly without spending runtime-heavy CI budget.recommendedgives stable regression signals with an exact-version lock that is installed via a generated--require-hasheswheelhouse.fullis intentionally separated because GPU/provider stacks are expensive and noisy for every PR or nightly schedule. The GPU shell helpers and container images now also layer exact-version extras on top ofrequirements-locks/requirements-runtime.lockviatools/ci/install_with_hashes.py.
Optional extras are defined in pyproject.toml and their rationale is recorded under:
[tool.yolozu.optional_extras_rationale]
CI does not depend on full extras as a single install target. Instead, it uses the tiered installs above so failures are easier to localize.