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
#1977 이 PR push 경로의 재게시 guard 를 없앤 뒤에도, 선행 이슈가 닫힐 때의 갱신 경로는 여전히 workflow_dispatch 결과를 POST /check-runs 로 PR HEAD 에 붙인다. GITHUB_TOKEN 이 만든 check-run 은 그 SHA 에 이미 있는 github-actions 앱 suite 중 하나에 임의로 얹히므로, 수정 머지 뒤에도 CodeQL / guard — merge-order-guard 같은 줄이 새로 생긴다. 실측: #1763 HEAD a3dd0a3 에 2026-09-11 08:07Z dispatch(run 34577656946) 결과가 CodeQL suite 아래 guard 로 붙었다. #1977 본문의 "그 SHA 에는 다른 suite 가 없어 이름 혼동도 생기지 않는다" 는 토큰 커밋 경로에만 맞고, PR HEAD 에는 다른 suite 가 항상 있다.
원인
#1955 가 gh run rerun 을 dispatch 재게시로 바꾼 이유는 rerun 이 PR 사본의 옛 워크플로 코드를 다시 돌리기 때문이었다. #1977 로 가드가 pull_request_target 이 된 지금은 PR HEAD 의 기존 run 이 base 의 YAML 과 default branch 의 스크립트로 도는 run 이라, 그 run 을 재실행하면 같은 suite 안의 guard 가 제자리에서 갱신되고 재게시가 필요 없다.
변경
refresh job 은 PR HEAD SHA 의 최신 pull_request_target guard run 이 있으면 gh run rerun 으로 갱신한다. 재실행은 default branch 의 .github/scripts 를 다시 checkout 하므로 게이트 스크립트는 최신이다.
그 run 이 없거나 재실행이 거절되면(진행 중·30일 초과) 기존 dispatch 경로로 내려간다. 토큰 커밋(screenshot-baseline-apply)의 dispatch 경로는 그대로 둔다. 그 SHA 에는 다른 suite 가 없다.
merge-order-guard-policy.test.mjs 의 "rerun 금지" 단언은 원래 의도(PR 사본 코드를 다시 돌리지 않는다)를 남기고 수단만 바꾼다. rerun 대상은 --event pull_request_target 으로 좁힌다.
완료 조건
선행 이슈가 닫힌 뒤 기다리던 PR 의 guard 가 merge-order-guard / guard (pull_request_target) 한 줄 안에서 초록으로 바뀐다. 무관한 워크플로 이름 아래 새 guard 줄이 생기지 않는다.
pull_request_target run 이 없는 SHA(토큰 커밋)는 종전과 같이 dispatch 결과로 판정이 붙는다.
Activity
Merge pull request #1984 from Afternote/ci/1983
chore: 옛 guard check-run 을 걷어내려 HEAD 를 갱신한다 (#1983)
chore: 옛 guard check-run 을 걷어내려 HEAD 를 갱신한다 (#1983)
chore: 옛 guard check-run 을 걷어내려 HEAD 를 갱신한다 (#1983)
chore: 옛 guard check-run 을 걷어내려 HEAD 를 갱신한다 (#1983)
chore: 옛 guard check-run 을 걷어내려 HEAD 를 갱신한다 (#1983)
chore: 옛 guard check-run 을 걷어내려 HEAD 를 갱신한다 (#1983)
chore: 옛 guard check-run 을 걷어내려 HEAD 를 갱신한다 (#1983)
chore: 옛 guard check-run 을 걷어내려 HEAD 를 갱신한다 (#1983)
chore: 옛 guard check-run 을 걷어내려 HEAD 를 갱신한다 (#1983)
chore: 옛 guard check-run 을 걷어내려 HEAD 를 갱신한다 (#1983)
chore: 옛 guard check-run 을 걷어내려 HEAD 를 갱신한다 (#1983)
chore: 옛 guard check-run 을 걷어내려 HEAD 를 갱신한다 (#1983)
chore: 옛 guard check-run 을 걷어내려 HEAD 를 갱신한다 (#1983)
chore: 옛 guard check-run 을 걷어내려 HEAD 를 갱신한다 (#1983)