Skip to content

ci(platform): 선행 이슈 닫힘 갱신을 pull_request_target guard 재실행으로 바꾼다 (#1983) - #1984

Merged
1hyok merged 1 commit into
developfrom
ci/1983
Sep 11, 2026
Merged

1hyok merged 1 commit into
developfrom
ci/1983

Conversation

@1hyok

@1hyok 1hyok commented Sep 11, 2026

Copy link
Copy Markdown
Collaborator

변경

#1977 뒤에도 선행 이슈가 닫힐 때의 갱신 경로는 workflow_dispatch 결과를 POST /check-runs 로 PR HEAD 에 붙였다. GITHUB_TOKEN 이 만든 check-run 은 그 SHA 의 임의 github-actions suite 에 얹혀 CodeQL / guard 처럼 무관한 워크플로 이름 아래 guard 가 또 떴다(실측 #1763 HEAD a3dd0a3, run 34577656946).

  • refresh job 이 기다리던 PR 의 HEAD SHA 로 최신 pull_request_target guard run 을 찾아 gh run rerun 한다. 그 run 은 base 의 YAML 과 default branch 의 스크립트로 돌았고 재실행도 스크립트를 default branch 에서 다시 받으므로, 같은 suite 안의 guard 가 제자리에서 갱신된다.
  • run 이 없거나(토큰 커밋) 재실행이 거절되면(진행 중·보존 기간 초과) 종전 dispatch 경로로 내려간다. publish-dispatch-result 는 그대로 둔다.
  • HEAD SHA 는 이미 받는 GraphQL 페이지에 headRefOid 를 실어 읽는다. PR 마다 REST 왕복을 더하지 않는다(CI: GitHub App API rate limit 소진으로 게이트 잡이 저장소 전체에서 실패한다 #1465).
  • 정책 테스트: fix(ci): 블로킹된 스택 PR도 머지 가드를 실패시킨다 (#1954) #1955 의 「rerun 금지」 단언은 원래 의도(PR 사본 코드를 다시 돌리지 않는다)를 남기고 수단만 바꿨다. rerun 대상이 --event pull_request_target 으로 좁혀진 것, 재실행 성공 시 dispatch 가 안 나가는 것, run 부재·재실행 거절 시 dispatch 로 내려가는 것, 실패 한 건이 나머지를 막지 않는 것을 셸 실행으로 잠근다.

검증

  • node --test .github/scripts/*.test.mjs 689건 통과.
  • actionlint: 새 지적 없음(기존 SC2016 info 만).
  • 실서비스 검증은 머지 뒤 선행 이슈가 닫히는 첫 사례에서 기다리던 PR 의 guard 가 한 줄 안에서 갱신되는지 본다.

리뷰어에게

연결 이슈

Closes #1983
Refs #1977

CI Test Plan

{
  "androidTest": {
    "mode": "none",
    "reason": "merge-order-guard 워크플로의 refresh job 과 정책 테스트만 바꾼다. Android 앱·네비게이션·계측 경계는 건드리지 않는다.",
    "tests": []
  }
}

refresh 가 PR HEAD 의 기존 pull_request_target run 을 rerun 해 같은 suite 안에서 guard 를 갱신한다. run 이 없거나 재실행이 거절될 때만 dispatch 로 내려가 check-run 을 붙인다. 정책 테스트는 rerun 을 pull_request_target run 으로 좁힌 새 경계를 잠근다.
@1hyok
1hyok merged commit 15bdb31 into develop Sep 11, 2026
22 checks passed
@1hyok
1hyok deleted the ci/1983 branch September 11, 2026 21:31
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(platform): 선행 이슈 닫힘 갱신을 dispatch 재게시 대신 pull_request_target guard 재실행으로 바꾼다

1 participant