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
chore(ci): 리뷰 적체 가드 신설 — 미처리 리뷰 요청이 있으면 새 PR 을 닫는다 #1136
리뷰 부하도 한쪽으로 쏠려 있다. 두 사람이 작성한 열린 PR 19건에 달린 리뷰는 사실상 전부 1hyok 이 단 것이고, Sadturtleman 의 15건은 리뷰어가 1hyok 단독이다.
GitHub 네이티브에는 PR 생성을 막는 수단이 없다(ruleset·branch protection 은 push·merge 만 통제). Actions 로 구현한다.
수정 범위와 완료 조건
.github/workflows/review-debt-guard.yml 신설. pull_request: [opened, reopened, ready_for_review] 에서 작성자에게 걸린 미처리 리뷰 요청을 조회하고, 1건이라도 있으면 그 PR 을 즉시 close 한다.
닫기 전에 밀린 PR 목록(번호·제목·경과일)과 재개 방법을 코멘트로 남긴다. 브랜치는 보존되므로 리뷰를 끝낸 뒤 gh pr reopen <N> 으로 되살릴 수 있어야 한다.
우회 라벨 review-debt-exempt 가 붙은 PR 은 통과시킨다.
bot 작성 PR(dependabot 등)과 외부 기여자(fork) PR 은 대상에서 제외한다.
조회 API 가 실패하면 PR 을 닫지 않고 워크플로만 실패시킨다. 판정 근거 없이 남의 PR 을 닫는 일이 없어야 한다.
📍 Note (Optional)
판정 기준은 "지금 미처리인가" 다. PR 을 연 시점의 과거 상태가 아니라, 이벤트 발생 시점의 현재 미처리 집합으로 판정한다.
우회 가능성이 설계에 남는다.fix(ci): Review Assign의 자동 reviewer 요청 제거 — 리뷰 중 ready_for_review 재요청 방지 #796 에서 자동 reviewer 요청을 제거해 리뷰 요청은 전부 수동이다. 리뷰어가 자기에게 걸린 요청을 스스로 떼면 review-requested 집합에서 빠져 이 가드를 통과한다. 완전 차단은 CODEOWNERS 도입 없이는 불가능하므로, 이번 범위에서는 pull_request: [review_request_removed] 를 함께 받아 리뷰를 남기지 않은 채 요청이 제거되면 기록 코멘트를 남기는 것까지 한다. 막지는 못해도 드러나게는 한다.
기준은 "요청 즉시 1건부터" 로 정했다(유예 없음). 팀 전원에게 동일 적용되며 작성자 본인도 예외가 아니다.
Activity