ci: reorganize checks by capability, dependency, and human-readable reporting - #208
Merged
Conversation
Replace the flat milestone-named CI structure with 9 capability-oriented jobs in a dependency-aware DAG, addressing every acceptance criterion in issue #207. Job changes ----------- - Remove `v1-gates` catch-all bucket; its contents are distributed: - N-level compatibility gate → `opy-integration` - Compile-time scenario runner → `scenario-validation` - Benchmarks → `benchmark` - Rename `cli-github-actions-smoke` → `cli-behavior` - Rename `lpp-client-integration` → `lpp-integration` - Rename `ostw-compile-differential` → `del-integration` - Rename `adapter` → `opy-adapter` - Absorb `compatibility-differential` into `opy-integration` DAG dependency structure ------------------------ - `paths` runs first (path filter, no external deps) - `rust-quality` gates: depends on `paths` - `opy-integration`, `del-integration`, `lpp-integration`, `cli-behavior`, `scenario-validation`, `benchmark`: depend on `paths` + `rust-quality` - `opy-adapter`: depends only on `paths` (TypeScript, no Rust gate needed) - `dist-validation`: depends on `paths` + `rust-quality` + `opy-integration` + `lpp-integration`; skipped intentionally when any upstream gate fails PR path filters --------------- A new `paths` job computes conservative change/dependency-aware filters: - Broad/core changes (Cargo workspace, src/, scripts/, CI) expand all checks - `adapter/` changes trigger `opy-adapter` only - `dist/` changes additionally trigger `dist-validation` - Push to `main` bypasses filters and runs all checks GITHUB_STEP_SUMMARY -------------------- `opy-integration`, `del-integration`, `scenario-validation`, and `benchmark` write concise Markdown summaries derived from their JSON reports. Summaries show PASS/FAIL state, totals, and individual failures. Upstream-blocked `dist-validation` is explicitly explained in summary rather than silently skipped. Artifact uploads updated from v7 to v4 throughout. Closes #207
Teakowa
force-pushed
the
ci/reorganize-by-capability-207
branch
from
August 22, 2026 11:28
67b7214 to
8457ddb
Compare
checkout v7, setup-node v7, setup-python v7, upload-artifact v7, download-artifact v8
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implements #207.
Summary
Replaces the flat, milestone-named CI structure (anchored around
v1-gates) with 9 capability-oriented jobs in a dependency-aware DAG.Job changes
rust-qualityrust-quality(unchanged)v1-gatesopy-integrationscenario-validationbenchmarkcompatibility-differentialopy-integrationostw-compile-differentialdel-integrationlpp-client-integrationlpp-integrationcli-github-actions-smokecli-behavioradapteropy-adapterdist-validationdist-validation(gated)DAG dependency structure
dist-validationonly runs afterrust-quality,opy-integration, andlpp-integrationall succeed — preventing three cross-platform runners from consuming time when foundational gates have already failed.PR path filters
A new
pathsjob computes conservative filters. Broad/core changes (Cargo,src/,scripts/, CI) expand all checks. Narrow changes (adapter/,dist/) run only the relevant job. Push tomainruns everything unconditionally.GITHUB_STEP_SUMMARY
opy-integration,del-integration,scenario-validation, andbenchmarkwrite concise Markdown summaries derived from their JSON reports. Summaries show PASS/FAIL, totals, and per-failure detail. Whendist-validationis skipped due to upstream failure, the summary explicitly names which gate caused the skip.Machine-readable JSON artifacts are preserved for all reporting jobs.
Acceptance criteria check
v1-gates/release-phase bucket; contents assigned to capability jobs or removed with evidencedist-validationfrom wasting runner timemainpush bypasses filters for full convergence coverageGITHUB_STEP_SUMMARYfrom test resultsmainis currently unprotected by required status checks, so no migration risk; note in PR for maintainer review