fix(scheduler): resolve live refs before cancelling runs - #1348
fix(scheduler): resolve live refs before cancelling runs#1348seonghobae wants to merge 2 commits into
Conversation
|
Warning Review limit reachedNext included review available in 51 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthrough조직 큐 스윕이 열린 PR의 head SHA를 live Git ref에서 다시 조회합니다. ref 조회 실패나 잘못된 SHA가 있으면 실행 취소를 중단하고 Changes실시간 PR 헤드 검증
Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: 🟡 Moderate · up to Queue cleanup can still cancel valid active runs when an open PR has a missing or malformed head reference because that PR is silently omitted from live-head resolution. Fix the fail-closed handling before merging. Sequence Diagram(s)sequenceDiagram
participant QueueSweep as 조직 큐 스윕
participant PullRequestsAPI as GitHub Pull Requests API
participant GitRefAPI as GitHub Git ref API
participant ActionsAPI as GitHub Actions API
QueueSweep->>PullRequestsAPI: 열린 PR의 head 저장소와 브랜치 조회
QueueSweep->>GitRefAPI: head 브랜치의 live Git ref 조회
GitRefAPI-->>QueueSweep: 현재 SHA 반환 또는 조회 실패
QueueSweep->>ActionsAPI: 유효한 이전 head 실행 취소
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 1 files. (4 skipped: 4 unsupported.) ✨ Finishing Touches📝 Generate docstrings
🧪 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 |
Root cause
The organization queue sweep treated the SHA in the open-PR list as the
authoritative branch head. During a synchronize-event propagation window,
LineageWeave #667 already had current-head runs for
37cc9ab1, while the PRpayload still exposed its preceding head. Queue hygiene cancelled the valid new
runs as superseded.
Repair
Get a referenceendpointEvidence
uv run --group dev pytest -q— 1,437 passed, 1 skipped, 16 subtests passedcoverage run -m pytest -q tests && coverage report --fail-under=100— 100% statements and branchesinterrogate --fail-under=100 scripts/ci— 100%actionlint .github/workflows/pr-review-merge-scheduler.ymlgit diff --checkCross-repository incident: ContextualWisdomLab/LineageWeave#667.
Summary by CodeRabbit
버그 수정
문서
테스트