flowchart TD
U["CI / Ubuntu"]
M["CI / macOS"]
Q(["Quality"])
T(["Unit"])
I(["Integration"])
U --> Q
M --> Q
Q -.-> T
Q -.-> I
.github/workflows/ci-ubuntu.ymlis the Ubuntu entry workflow..github/workflows/ci-macos.ymlis the macOS entry workflow..github/workflows/quality.ymldefines reusable quality and compilation checks..github/workflows/unit.ymldefines reusable unit and doc test execution..github/workflows/integration.ymldefines reusable integration test execution.
CI / Ubuntu and CI / macOS both route into the same logical pipeline shape. quality runs first, then unit and integration both depend on quality, so formatting, linting, and compile validation must pass before the test fan-out begins.
The quality workflow performs static validation and build verification before tests run.
cargo +nightly fmt --allchecks formatting consistency by reformatting the workspace.- The workflow fails if formatting would change tracked files.
cargo clippy --all-features --all-targets -- -D warningsruns lints across all targets and features.-D warningspromotes warnings to errors so the job fails on any lint finding.
This catches missing imports, cfg mistakes, and feature-gating regressions without requiring full test execution for every combination.
RUSTDOCFLAGS='--cfg docsrs' cargo doc --all-features --no-depsvalidates that documentation builds under a docs.rs-like configuration.- This helps catch documentation-only compilation issues and cfg-gated API doc failures.
The unit workflow focuses on fast correctness checks that do not require the broader integration feature matrix.
The integration workflow exercises feature-backed behavior and the broader end-to-end test matrix.