Repository navigation
perf(ci): decline the stranded-prod check on a busy queue before it joins the deploy lock - #4796
Conversation
…oins the deploy lock The hourly check joined prod-deploy before it had a runner or knew whether the merge queue was busy. A lock-free preflight job now reads the same queue state first; the locked job runs only when the preflight found the queue idle, and keeps its own gate under the lock. Fixes #4598 Co-Authored-By: Claude Opus 5.5 <[email protected]>
@coderabbitai review |
|
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 48 minutes. View limit details
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 |
@codex review |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Codex Review: Didn't find any major issues. You're on a roll. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Evaluation at
|
Why
Every hour a check looks for a production left on a release that never reached the main branch, and it lined up with the production deploys before it knew whether there was anything to repair. In one measured run it held that place for nine minutes while waiting for a machine, then worked for 18 seconds and found nothing to do. When pull requests are waiting to merge, that wait competes with real deploys.
What
The check now first asks, without lining up, whether pull requests are waiting to merge, and stops there if they are. If none are waiting it continues as before and asks again once it holds its place, so a pull request that arrives in between still stops it. If the first question cannot be answered, the run fails visibly and repairs nothing.
Fixes #4598
👉 After merge/promotion: nothing for the maintainer; the engineer compares the hourly runs before and after and records one run on a busy queue on the issue.