Skip to content

ci(review): Viewed 가 풀린 PR 의 자동 머지 예약과 merge queue 등록을 해제한다 (#2252) - #2253

Merged
OnlyReadOneBook merged 2 commits into
developfrom
ci/2252-viewed-auto-merge-cancel
Oct 5, 2026
Merged

OnlyReadOneBook merged 2 commits into
developfrom
ci/2252-viewed-auto-merge-cancel

Conversation

@OnlyReadOneBook

Copy link
Copy Markdown
Collaborator

📌𝘐𝘴𝘴𝘶𝘦𝘴

📎𝘞𝘰𝘳𝘬 𝘋𝘦𝘴𝘤𝘳𝘪𝘱𝘵𝘪𝘰𝘯

  • ci: 1hyok 가 모든 파일을 Viewed 로 체크한 승인 PR 에 자동 머지를 예약한다 #2248 의 Viewed 자동 머지는 예약을 걸기만 했다. 예약이나 merge queue 등록 뒤 새 push 로 1hyok 기준 파일이 DISMISSED·UNVIEWED 가 되어도 판정 스크립트는 이미 예약된 PR 을 건너뛰었고, develop 룰셋은 push 로 승인을 지우지 않아 다시 보지 않은 커밋이 그대로 머지될 수 있었다.
  • 판정 스크립트에 decideViewedAutoMergeCancel 을 더했다. 예약(autoMergeRequest)이 있거나 큐에 있는 PR 중 전체 파일이 VIEWED 가 아니거나 파일 목록을 다 못 읽은 PR 을 cancels 로 내보낸다. 승인·Draft·작성자는 따지지 않는다.
  • 워크플로에 해제 단계를 예약 단계 앞에 넣었다. 예약은 gh pr merge --disable-auto(disablePullRequestAutoMerge), 큐는 GraphQL dequeuePullRequest 로 푼다. 해제가 하나라도 실패하면 job 을 red 로 남기고, 예약 단계는 해제 단계 결과와 무관하게 돈다.
  • 해제한 PR 은 다시 전부 Viewed 가 되면 다음 실행이 기존 조건으로 다시 예약한다.
  • 워크플로 머리 주석에서 "이미 걸린 예약은 PR 화면에서 끈다" 문장을 이 동작으로 고쳤다. job 표시 이름도 Sync auto-merge with Viewed state 로 바꿨다(스케줄 실행 job 이라 required check 와 무관).

검증

  • node --test .github/scripts/find-viewed-auto-merge-targets.test.mjs 13/13 통과(새 테스트 7건). 해제 판정의 Viewed 분기를 일부러 깨면 3건이 실패하는 것을 확인했다.
  • node --test .github/scripts/*.test.mjs 812/812 통과.
  • 가짜 GraphQL 응답으로 main() 을 돌려 예약 대상·해제 대상(예약만, 예약+큐) 출력을 확인하고, 해제 단계 셸을 가짜 gh 로 돌려 예약 해제가 실패해도 큐 해제를 시도한 뒤 exit 1 로 끝나는 것을 확인했다.

🧪 CI Test Plan

{
  "androidTest": {
    "mode": "none",
    "reason": "`.github/workflows/viewed-auto-merge.yml` 과 `.github/scripts` 의 판정 스크립트·테스트만 바꾼다. 앱 코드와 계측 테스트 대상 화면이 없다.",
    "tests": []
  }
}

📷𝘚𝘤𝘳𝘦𝘦𝘯𝘴𝘩𝘰𝘵

화면 변경 없음

💬𝘛𝘰 𝘙𝘦𝘷𝘪𝘦𝘸𝘦𝘳𝘴

  • 팀원 PR 도 해제 대상이다. Viewed 가 다 차지 않은 상태에서 누가 직접 건 예약도 다음 실행(최대 10분)에 풀린다.
  • 해제 mutation 에는 HEAD 조건이 없다. 판정과 해제 사이에 Viewed 가 다 차더라도 다음 실행이 다시 예약하므로 안전한 쪽으로만 어긋난다.
  • 룰셋·시크릿·저장소 설정은 바꾸지 않았다.

Generated by Claude Code

@github-actions github-actions Bot added the sibling-conflict 열린 형제 PR 과 같은 파일에서 충돌 — 나중에 머지되는 쪽이 base 를 병합해야 한다. 해소되면 자동으로 떨어진다 label Oct 5, 2026
@github-actions

github-actions Bot commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

형제 충돌이 해소됐다 — 지금은 이 PR 과 같은 파일을 서로 다르게 고친 열린 PR 이 없다 (#1750).
다시 생기면 이 코멘트를 현재 상태로 고쳐 쓴다.

@github-actions github-actions Bot removed the sibling-conflict 열린 형제 PR 과 같은 파일에서 충돌 — 나중에 머지되는 쪽이 base 를 병합해야 한다. 해소되면 자동으로 떨어진다 label Oct 5, 2026
@OnlyReadOneBook
OnlyReadOneBook marked this pull request as ready for review October 5, 2026 05:45
@github-actions
github-actions Bot requested a review from Sadturtleman October 5, 2026 05:45
@OnlyReadOneBook
OnlyReadOneBook merged commit d5ac051 into develop Oct 5, 2026
26 checks passed
@OnlyReadOneBook
OnlyReadOneBook deleted the ci/2252-viewed-auto-merge-cancel branch October 5, 2026 05:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ci: Viewed 가 풀린 PR 의 자동 머지 예약과 merge queue 등록을 해제한다

1 participant