Files
MetaCrate/ci/ci-coverage.json
Chili Palmer 5c6307c561
Some checks failed
CI / required (push) Failing after 9m17s
Consolidate required CI gate (#115)
2026-08-12 23:16:01 +00:00

118 lines
5.4 KiB
JSON

{
"schema": 1,
"required_workflow": ".gitea/workflows/ci.yml",
"release_workflow": ".gitea/workflows/release.yml",
"hard_timeout_minutes": 15,
"internal_target_seconds": 720,
"required_checks": [
"format",
"deterministic-generation",
"api-semver",
"workspace-tests",
"compatibility-parity",
"minimal-features",
"jpeg2000",
"skia-binary",
"program-offline-smoke",
"clippy",
"documentation",
"dependency-policy",
"provenance-policy",
"performance-evidence",
"concurrency-regressions"
],
"legacy_workflows": [
{
"workflow": "api-surface.yml",
"responsibility": "Generated API mappings, SemVer baseline and audit, downstream consumer compilation, and focused lint",
"destination": "required",
"checks": ["deterministic-generation", "api-semver", "clippy"],
"rationale": "Public API drift must block every code-ready change."
},
{
"workflow": "artifact-audit.yml",
"responsibility": "Source packages, release binaries, native linkage, and artifact/provenance inspection",
"destination": "release",
"checks": ["release-packaging", "native-artifact-audit"],
"rationale": "Full packaging is expensive; routine provenance policy and package metadata validation remain required."
},
{
"workflow": "codegen.yml",
"responsibility": "Deterministic generation, generated wire/catalog tests, API fixture, and clean generator artifact",
"destination": "required",
"checks": ["format", "deterministic-generation", "workspace-tests", "compatibility-parity"],
"rationale": "Generated-source and translated compatibility drift must fail before compilation proceeds."
},
{
"workflow": "concurrency-audit.yml",
"responsibility": "Focused race regressions and bounded resource soak",
"destination": "split",
"checks": ["concurrency-regressions", "long-resource-soak"],
"rationale": "Focused regressions remain required; the 16-cycle resource soak runs in the non-routine release gate."
},
{
"workflow": "documentation.yml",
"responsibility": "Documentation audit, warning-free docs, doctests, examples, and documented program tests",
"destination": "required",
"checks": ["documentation", "program-offline-smoke"],
"rationale": "Documentation and documented offline behavior are part of the public release surface."
},
{
"workflow": "imaging-meshing.yml",
"responsibility": "Imaging and meshing tests, parity cases, benchmark compilation, lint, and docs",
"destination": "split",
"checks": ["workspace-tests", "compatibility-parity", "clippy", "documentation", "benchmark-compilation"],
"rationale": "Tests, parity, lint, and docs remain required; redundant benchmark compilation moves to the release gate."
},
{
"workflow": "jpeg2000.yml",
"responsibility": "Optional OpenJPEG/JPEG 2000 feature build and tests",
"destination": "required",
"checks": ["jpeg2000"],
"rationale": "The optional native codec is tested independently with an exact cached OpenJPEG 2.5.4 identity."
},
{
"workflow": "performance.yml",
"responsibility": "Pinned C# comparison harness and committed performance evidence audit",
"destination": "split",
"checks": ["performance-evidence", "performance-regeneration"],
"rationale": "Committed evidence validation remains required; C# checkout and evidence regeneration are manual release work."
},
{
"workflow": "release-candidate.yml",
"responsibility": "Aggregate release-readiness gate and evidence",
"destination": "release",
"checks": ["release-candidate-audit"],
"rationale": "The aggregate release decision is non-routine and no longer recompiles the required gate."
},
{
"workflow": "release-matrix.yml",
"responsibility": "MSRV, default, minimal, features, release profiles, and portable cross-target checks",
"destination": "split",
"checks": ["minimal-features", "jpeg2000", "skia-binary", "msrv", "portable-cross-targets", "release-profile"],
"rationale": "Fast feature isolation remains required; clean MSRV, cross-target, and release-profile builds run non-routinely."
},
{
"workflow": "rust-workspace.yml",
"responsibility": "Milestone checks, workspace compilation, program smoke, audio feature, extension lint, and docs",
"destination": "required",
"checks": ["workspace-tests", "compatibility-parity", "program-offline-smoke", "clippy", "documentation"],
"rationale": "One all-feature test graph replaces overlapping compile and test invocations."
},
{
"workflow": "skia.yml",
"responsibility": "Default and Skia feature tests plus package listing",
"destination": "required",
"checks": ["skia-binary", "workspace-tests"],
"rationale": "The required gate proves the exact ARM64 GNU archive is installed and forbids source compilation."
},
{
"workflow": "supply-chain.yml",
"responsibility": "Dependency graph, advisory, license, source, provenance, duplicate, and unused-dependency audits",
"destination": "required",
"checks": ["dependency-policy", "provenance-policy"],
"rationale": "Pinned prebuilt audit tools and cached advisory data keep policy enforcement in the routine gate."
}
]
}