ci: drop continue-on-error on test-run step (bisect_ppx)#409
Merged
Conversation
The "Run tests with bisect_ppx instrumentation" step in `.github/workflows/ci.yml` carried `continue-on-error: true`. Result: test failures (including QTT typechecker test regressions) reported as a CI pass. The intention was apparently to keep coverage-report generation working even when tests fail, but the better split is: - TESTS must hard-fail on regression (this commit). - Coverage-report generation may soft-fail (kept as `continue-on-error` on the "Generate HTML coverage report" step, since coverage tooling artefact issues should not mask test results). This is the same anti-pattern class as echo-types' N5Falsifier xfail gate (resolved via echo-types#136) and echidna's Tier-2/3 live-test soft-fail (resolved via echidna#118). The other 4 `continue-on-error` instances in this file are preserved: - `Lint with odoc` (line 105) — docs lint, not proof validity. - `Build bench targets` + `Run benches` (lines 127, 131) — benchmarks. - `Generate HTML coverage report` (line 183) — coverage tooling artefact, not proof validity. Refs hygiene audit 2026-05-28 (`standards/adoption-readiness-grades/AUDIT-FINDINGS-2026-05-28.adoc`). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
🔍 Hypatia Security ScanFindings: 82 issues detected
View findings[
{
"reason": "Action actions/checkout@v6 needs attention",
"type": "unpinned_action",
"file": "publish-jsr.yml",
"action": "pin_sha",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Action denoland/setup-deno@v2 needs attention",
"type": "unpinned_action",
"file": "publish-jsr.yml",
"action": "pin_sha",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in affine-vscode-publish.yml",
"type": "unknown",
"file": "affine-vscode-publish.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in casket-pages.yml",
"type": "unknown",
"file": "casket-pages.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in casket-pages.yml",
"type": "unknown",
"file": "casket-pages.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in ci.yml",
"type": "unknown",
"file": "ci.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in ci.yml",
"type": "unknown",
"file": "ci.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in ci.yml",
"type": "unknown",
"file": "ci.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in ci.yml",
"type": "unknown",
"file": "ci.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in ci.yml",
"type": "unknown",
"file": "ci.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
}
]Powered by Hypatia Neurosymbolic CI/CD Intelligence |
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.
Summary
The "Run tests with bisect_ppx instrumentation" step in
.github/workflows/ci.ymlcarriedcontinue-on-error: true. Result: test failures (including QTT typechecker test regressions) were being reported as CI passes.What changes
Removes one line:
continue-on-error: truefrom the test-run step at line 178.What is NOT changed
Intentional soft-fail patterns preserved on non-test steps:
Lint with odoc(line 105) — docs lint.Build bench targets+Run benches(lines 127, 131) — benchmarks.Generate HTML coverage report(line 183) — coverage tooling artefact (failure here shouldn't mask test results).Pattern context
Same anti-pattern class as:
The principle: "CI green" must reliably mean "tests pass". Soft-failing test steps breaks that invariant.
Refs
Estate prover-CI hygiene audit, recorded at:
`standards/adoption-readiness-grades/AUDIT-FINDINGS-2026-05-28.adoc`.
Test plan
🤖 Generated with Claude Code