ci(workflows): make test jobs fail honestly on test failures#135
Conversation
The contract and integration test steps pipe go test output through tee for log artifacts. Without pipefail the step's exit code is tee's (always 0), so CI stayed green while the contract suite was actually failing. Enable pipefail in all four affected run blocks so the jobs propagate go test's exit code while keeping the tee-based log capture. Co-Authored-By: Claude <noreply@anthropic.com> Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
|
Note Gemini is unable to generate a review for this pull request due to the file types involved not being currently supported. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
📝 WalkthroughWalkthroughThis PR adds ChangesPipeline exit code handling
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
What
The contract and integration test steps in
contract.yml,integration.yml, andpull-request.ymlpipego testoutput throughteefor log artifacts. GitHub's defaultbash -e {0}shell has nopipefail, so the step's exit code wastee's (always 0) — CI stayed green while the contract suite was actually failing.How it is fixed
Enable
set -o pipefailin all four affected run blocks so the jobs propagatego test's exit code. Thetee-based log capture for failure artifacts is kept.These were the only masked
go test | …pipes in the workflows (audited all of.github/workflows/).Note for reviewers
With masking removed, the contract job on this PR is expected to genuinely FAIL due to a known pre-existing corpus divergence (TestOracleTraceReplay layer_data), which is being fixed separately. A red contract check here is the new honest behavior, not a regression introduced by this change.
Summary by CodeRabbit