mirror of
https://github.com/DeusData/codebase-memory-mcp.git
synced 2026-10-25 06:33:13 +08:00
ci: non-product PRs (T0b) run the contract steps too
Under R1, a T0b push (test-infrastructure/, lint config, graph-ui, memwaste tooling) selected lint and no test leg, so the static contract steps that police exactly those files -- the VM scripts, the compose and run.sh wiring, the venue-parity rules -- ran nowhere. Replayed over September, 13 of the 18 T0b pushes ran no contract step at all. The R1 table now gives T0b lint + contracts, so those PRs get the contracts job (scripts/test.sh --contracts-only) as T0a PRs do. The fixture table's six T0b cases expect it, and the history replay asserts that every push runs the contract steps (the contracts lane or any test leg). Comments that described the job as docs-only are updated. Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
This commit is contained in:
@@ -261,10 +261,10 @@ jobs:
|
||||
${{ runner.temp }}/test-impact/changed-files.txt
|
||||
if-no-files-found: warn
|
||||
|
||||
# ── Docs-only PRs (tier T0a) select no test leg, so this runs the static
|
||||
# contract steps of the canonical test leg on their own (they police
|
||||
# docs surfaces too: language counts, version metadata). Every test leg
|
||||
# runs the same steps, so the job exists only when no leg does. ──
|
||||
# ── Docs-only and non-product PRs (tiers T0a, T0b) run the static contract
|
||||
# steps of the canonical test leg on their own: they police docs
|
||||
# surfaces (language counts, version metadata), test-infrastructure/ and
|
||||
# lint config too. Every test leg runs the same steps. ──
|
||||
contracts:
|
||||
needs: [changes]
|
||||
if: ${{ !cancelled() && needs.changes.result == 'success' && contains(fromJSON(needs.changes.outputs.lanes), 'contracts') }}
|
||||
|
||||
Reference in New Issue
Block a user