test(reliability): bound release-index Git metadata lookup - #708
Conversation
|
Warning Review limit reached
Next review available in: 29 minutes You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
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 |
aaab3af to
682f0ce
Compare
|
Superseded by clean current-main replacement #715. This PR preserves the original fail-first lineage and predecessor-head evidence, but its source head |
Fail closed when git rev-parse hangs during release evidence indexing.
88e307e to
8d5747f
Compare
Reliability defect
Protected
mainaa5e84963e428aaa8c2900138bb36b07b8d649a7boundsgit rev-parse HEADin several release/evidence builders through #704, butscripts/build_release_evidence_index.py::_source_commitstill invokes Git with no timeout and maps all exceptions tounknown. Because this index is part of acquisition/release evidence, a hung local Git child can still stall the evidence pipeline indefinitely.Intentional RED
Exact test-only head:
2b817e9889ed37ce75d63fffbefdfd44a34d949a, directly based on the protected head above.tests/test_release_evidence_git_metadata_timeout.pysubstitutes a deterministicsubprocess.TimeoutExpiredand requires_source_committo pass a package-owned deadline and fail closed with stable non-reflectiveRuntimeError("source commit lookup timed out").The current implementation has no
GIT_METADATA_TIMEOUT_SECONDSand notimeout=, so this is expected RED at the production boundary rather than setup/import/fixture failure.Minimum GREEN after RED proof
git rev-parse HEADcall;subprocess.TimeoutExpiredbefore the generic fallback and raise the stable timeout error;No release-evidence schema semantics, artifact hashes, dependencies/workflows/version/release, numerical code, or canonical #604/#621 documentation belongs in this slice.