You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Checkless repos with a required QA panel are unmergeable (tracks pr-reviewer-plugin#281) #119
What happened:protoLabsAI/protobanana-plugin#2 could not be merged. The repo has no CI, but QA panel is a required status with enforce_admins: true. The panel concluded protoReview = success but left QA panelin_progress ("Waiting on CI", hold:checks-failed) indefinitely, because a checkless repo maps to a failed checks state and that hold renders as a non-terminal check. Recovery required temporarily removing QA panel from the required checks, merging, and restoring it (done 2026-10-16, protection restored exactly).
For this repo (ops):
Audit managed repos (PR_REVIEWER_REPOS) for ones that have QA panel required but no CI; they have the same deadlock. protoLabsAI/protobanana-plugin is confirmed.
Until #281 ships and is rolled out, either do not require QA panel on checkless repos, or document the bypass procedure in the runbook.
After rollout, verify on a throwaway PR in a checkless repo that QA panel concludes neutral and the PR is mergeable.
Triage: boarded as bd-9pw3, an ops task that depends_onbd-bgdc (the pr-reviewer#281 fix: hold:no-checks renders QA panel neutral).
The task:
audits every PR_REVIEWER_REPOS repo for a required QA panel with no CI (protobanana-plugin is already confirmed);
names the pr-reviewer release that contains the fix and the exact bundle pin change;
writes the throwaway-PR check for after rollout.
It ends at "ready to roll". Vera is not rolled and no branch protection is changed until Josh gives the go. Until then, use the bypass from 2026-10-16: temporarily drop QA panel from required checks, merge, then restore protection exactly.
Before rolling I checked that no QA panel or protoReview run was in progress on any org PR updated in the last 45 min.
scripts/fleet-roll.sh vera on ava exited 0. Its own publish run was 40131695955. Verify passed: card=vera base=0.215.0 image=ghcr.io/protolabsai/vera:latest.
In the container, /opt/protoagent/plugins/pr-reviewer reports version: "0.62.0".
Smoke
smoke_replay.py --container vera --repo protoLabsAI/mythxengine --pr 862 returned ok: verdict=PASS findings=3 degraded=- slowest=find_removed_behavior:2370s structural=194s, so every lane ran for real.
I named the PR explicitly because no open PR in the default repos fell in the size window. projectBoard-plugin#637 merged mid-attempt, and the script refused it as designed.
The new image also live-reviewed projectBoard-plugin#637 after the roll: QA panel success.
Activity
mabry1985 commentedon Oct 23, 2026
Triage: boarded as bd-9pw3, an ops task that
depends_onbd-bgdc (the pr-reviewer#281 fix:hold:no-checksrendersQA panelneutral).The task:
PR_REVIEWER_REPOSrepo for a requiredQA panelwith no CI (protobanana-plugin is already confirmed);It ends at "ready to roll". Vera is not rolled and no branch protection is changed until Josh gives the go. Until then, use the bypass from 2026-10-16: temporarily drop
QA panelfrom required checks, merge, then restore protection exactly.mabry1985 commentedon Oct 24, 2026
Rollout done: Vera is on pr-reviewer v0.62.0 (#281 fix), and the post-rollout check passes
Pin and image
compare/e6ba28f...v0.62.0returnsahead.12c26ea0, and I merged it pinned asbce7dfbe.docker-publishrun 40131529394 on main succeeded.Roll
QA panelorprotoReviewrun was in progress on any org PR updated in the last 45 min.scripts/fleet-roll.sh veraon ava exited 0. Its own publish run was 40131695955. Verify passed:card=vera base=0.215.0 image=ghcr.io/protolabsai/vera:latest./opt/protoagent/plugins/pr-reviewerreportsversion: "0.62.0".Smoke
smoke_replay.py --container vera --repo protoLabsAI/mythxengine --pr 862returnedok: verdict=PASS findings=3 degraded=- slowest=find_removed_behavior:2370s structural=194s, so every lane ran for real.QA panelsuccess.Checkless repos (group A)
9d7347e5completed/neutral: "No CI configured — not blocking"promoted=false, held)9cbf6a27completed/neutral: "No CI configured — not blocking"promoted=false, held)Both throwaway PRs are closed unmerged and their branches are deleted. I didn't change branch protection anywhere.
Both repos pass, so I'm closing this. The 61 group-A repos should no longer deadlock on
QA panel. Still open from the audit:pr-check.yml, which will still sit at "Waiting on CI" on PRs outside its paths, since a check is configured there;