ci(fpga): pipefail the conformance step so a failing runner fails the job - #2417
Merged
Conversation
Contributor
|
📓 NotebookLM Notebook linked to this PR
This notebook contains session context, decisions, and artifacts for this work. |
Contributor
PR DashboardGenerated at: 2026-08-22 12:10:24 UTC
Summary
Seal Status
|
gHashTag
enabled auto-merge (squash)
August 22, 2026 12:10
… job if python3 run_conformance_vvp.py ... | tee ...; then tests tee's exit status without pipefail, so a MISMATCH printed one line above was reported as "EXECUTED, all cases passed" and the job stayed green. Same defect #2242 removed from fpga-formal, 115 lines below the corrected pattern in this same file. Closes #2415
gHashTag
force-pushed
the
fix/2415-conformance-pipefail
branch
from
August 22, 2026 12:15
effe2f9 to
394e9a2
Compare
Contributor
PR DashboardGenerated at: 2026-08-22 12:15:52 UTC
Summary
Seal Status
|
Contributor
|
📓 NotebookLM Notebook linked to this PR
This notebook contains session context, decisions, and artifacts for this work. |
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.
Closes #2415
What
fpga-build.yml's conformance step, landed by #2403, cannot fail. Line 772:Without
pipefailtheifteststee's exit status. A failing runner takes thethenbranch,
failsstays 0, and theexit 1at :784 never fires.The step has no
set -o pipefail, and the workflow has nodefaults: run: shell:block, sothe default
bash -e {0}applies —-o pipefailis added only for an explicitshell: bash.Measured, with a stub runner that fails the way a real mismatch would
As landed on master:
With
set -o pipefail, same runner:The gate reports "all cases passed" on the line directly below its own log saying
MISMATCH.
This is the defect #2242 removed, in the same file
#2242fixed exactly this infpga-formal, and the corrected pattern sits 115 linesabove the new one, at
:638-640:On the negative control
#2403's body reports a planted-fault control failing correctly, and I have no quarrel with
it: it demonstrates the runner detects a fault. It does not demonstrate the gate
fails, because the gate reads
tee. Those are different claims and only the second is whatCI enforces.
fpga-conformancegoing green is consistent with both a working gate and avacuous one — which is precisely why the control has to run through the workflow step, not
beside it.
Raised on the PR before merge (#2403 review comment) and merged unchanged; filing so it is
tracked rather than lost.
Not in dispute
The rest of #2403 is good and this issue does not touch it: registry-scoped execution with
the remainder printed as visible debt is the honest shape, and its own comment — "a thin
gate that is real beats a broad one that is vacuous" — is exactly the right doctrine.
Related: #2241, #2242, #2403, #2376.