ci: make compat-matrix engine-job failures fail the run - #3376
Conversation
Removes continue-on-error from the tests job now that the debt gate is cleared: PR #3365 merged and dispatch run 30976993285 on develop came back fully green (all 5 engine jobs, aggregate 6 oracle soft-fails only, which stay non-blocking via SOFT_FAIL_DBS under #2663). The rustcfml job keeps its continue-on-error — it is an informational lane by design. From now on a red engine leg turns the weekly run banner red instead of being silently swallowed. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Signed-off-by: Peter Amiri <petera@pai.com>
There was a problem hiding this comment.
Wheels Bot — Reviewer
TL;DR — This PR removes continue-on-error: true from the tests (engine) job in .github/workflows/compat-matrix.yml, so a failing engine leg now fails the compat-matrix run instead of being silently swallowed. The change is minimal, correct, and well-justified by the linked debt burn-down (#3365 / 6bff05441). One minor docs nit keeps this at comment rather than approve; nothing blocking.
Correctness
The one-line deletion does exactly what the title claims. Verified the surrounding mechanics hold up:
- The job-internal gating already distinguishes soft-fails from real failures —
SOFT_FAIL_DBS="oracle"only warns (.github/workflows/compat-matrix.yml:476-480), andOVERALL_STATUSdrives the finalexit 1(:502-505). So removing the blanketcontinue-on-errorpromotes only genuine, non-soft-fail leg failures to run failures. Correct. fail-fast: falseis retained (:19), so one failing leg still lets the other four engines finish — you get the full matrix picture on a failure, not a truncated one.- Both downstream jobs guard with
if: always()(publish-resultsat:631,test-matrix-summaryat:668), so a now-failingtestsjob does not suppress the JUnit publish, PR matrix comment, or artifact upload. No regression there. - The
rustcfmllane correctly keeps its owncontinue-on-error: true(:605), consistent with the in-file comment describing it as a never-gating informational lane (:594-601).
No blocking findings.
Docs
.github/workflows/compat-matrix.yml:1-2— the file-header comment still readsNon-blocking — informational only.That is now stale for the engine legs: after this PR a failing engine job does block the run. Consider tightening it to note that only therustcfmllane (and oracle soft-fail DBs) remain informational. Non-blocking nit.
Commits
ci: make compat-matrix engine-job failures fail the run conforms to commitlint.config.js — valid type ci, no scope, subject is 47 chars and not ALL-CAPS. Good.
No test changes are expected or needed for a CI-config-only diff.
What
Deletes
continue-on-error: truefrom thetests(engine) job in.github/workflows/compat-matrix.yml. Therustcfmljob keeps its flag — it is an informational lane by design.Why now — the gate is cleared
The issue's own sequencing rule was: burn down the pre-existing leg debt first, then flip. That happened today:
6bff05441.SOFT_FAIL_DBS, tracked under ci: Oracle datasource broken across all engines — Invalid URL, missing DBMS_LOCK, constraint cleanup #2663).With this flip, a failing engine leg fails the run — the weekly banner becomes a real alarm instead of decoration.
Fixes #3302
🤖 Generated with Claude Code