PROBLEM
The release workflow's test gate is dead code and has never fired. .github/workflows/release.yml runs tests with continue-on-error: true (line 44) and gates tag deletion on steps.test.conclusion == 'failure' (line 48) — but under continue-on-error, a failed step's conclusion is forced to success (only outcome records the failure). Verified on real runs: v1.4.0 and v1.4.1 both had failing tests in the Run Tests step, conclusion=success, Delete-tag skipped, release published.
FIX DIRECTION (couples with making CI green — do NOT just flip the field)
steps.test.conclusion -> steps.test.outcome makes the gate real — but flipping it today blocks every future release until the suite is CI-green, which it currently is not (see companion issues: TS golden-fixture collection errors, Java source-code-path crash).
- So this lands together with CI test-suite partitioning: env-dependent tests must skip cleanly (pytest markers / fixture-presence gating) so "green in CI" is meaningful, then the gate flips to outcome.
- Belongs to the Epic D floor alongside #197 (PR-time CI) — same suite hygiene, one policy.
DEFINITION OF DONE
- Gate fires on a deliberately broken test (verified on a scratch tag or workflow_dispatch dry run).
- Release workflow green on an honest, fully-run suite; skipped-by-gating tests visibly reported.
Refs: #193 (Epic D), #197.
PROBLEM
The release workflow's test gate is dead code and has never fired.
.github/workflows/release.ymlruns tests withcontinue-on-error: true(line 44) and gates tag deletion onsteps.test.conclusion == 'failure'(line 48) — but undercontinue-on-error, a failed step'sconclusionis forced tosuccess(onlyoutcomerecords the failure). Verified on real runs: v1.4.0 and v1.4.1 both had failing tests in the Run Tests step, conclusion=success, Delete-tag skipped, release published.FIX DIRECTION (couples with making CI green — do NOT just flip the field)
steps.test.conclusion->steps.test.outcomemakes the gate real — but flipping it today blocks every future release until the suite is CI-green, which it currently is not (see companion issues: TS golden-fixture collection errors, Java source-code-path crash).DEFINITION OF DONE
Refs: #193 (Epic D), #197.