Skip to content

ci(platform): merge-order-guard 를 pull_request_target 으로 옮겨 재게시 guard 두 줄을 없앤다 (#1977) - #1978

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

1hyok merged 1 commit into
developfrom
ci/1977

Conversation

@1hyok

@1hyok 1hyok commented Sep 11, 2026

Copy link
Copy Markdown
Collaborator

변경

PR 체크 목록에 guard 가 두 줄로 뜨던 것을 한 줄로 만든다. 두 번째 줄은 #1955 가 낡은 브랜치의 inline 가드를 최신 정책으로 덧쓰기 위해 workflow_dispatch 결과를 POST /check-runs 로 재게시한 것인데, GITHUB_TOKEN 이 만든 check-run 은 같은 SHA 에 이미 있는 github-actions 앱 suite 중 하나에 임의로 얹혀 Android Managed Device Test / guard — merge-order-guard 처럼 무관한 워크플로 이름 아래 떴다.

  • merge-order-guard.yml 의 트리거를 pull_request 에서 pull_request_target 으로 옮긴다. 워크플로 YAML 과 sparse checkout 이 모두 base 의 것이라 첫 판정부터 최신 정책이고, PR 이 가드를 고쳐 스스로 통과할 길도 사라진다. stack-integrity-notify.yml·merge-queue-dequeue.yml 과 같은 경계다. PR 코드는 체크아웃하지 않고, 워크플로 기본 권한을 {} 로 비운 뒤 job 별로 읽기·쓰기를 준다.
  • 재게시가 불필요해진 refresh-merge-order-policy.yml 을 걷어낸다.
  • 선행 이슈 닫힘(issues)과 GITHUB_TOKEN 이 만든 baseline 커밋(screenshot-baseline-apply 의 dispatch)에 판정을 붙이는 workflow_dispatch 경로는 남긴다. 이벤트가 나지 않는 SHA 에 판정을 붙일 다른 수단이 없고, 그 SHA 에는 다른 suite 가 없어 이름 혼동도 생기지 않는다.
  • 정책 테스트 3종을 새 경계로 고친다. create-ci-config.test.mjs 의 pull_request_target 허용 목록(narrow bridge 불변식)에 이 워크플로를 추가한다.

검증

  • node --test .github/scripts/*.test.mjs 683건 통과.
  • actionlint 는 develop 과 같은 SC2016 info 4건만 남고 error·warning 0건. git diff --check 통과.
  • 앱 코드는 변경하지 않아 Android 빌드·기기 검증은 하지 않았다.

리뷰어에게

  • required check 이름 guard 는 그대로다. 이 PR 자체는 아직 pull_request 로 돈 base 정의를 쓰므로, 한 줄로 뜨는 것은 머지 뒤 열리는 PR 부터다.
  • 머지 뒤 열린 채 남은 PR 의 옛 guard 두 줄은 다음 push·edited 에서 한 줄로 갱신된다.

연결 이슈

Closes #1977

CI Test Plan

{
  "androidTest": {
    "mode": "none",
    "reason": "머지 순서 가드 워크플로와 그 정책 테스트만 변경한다. Android 앱·네비게이션·계측 경계는 변경하지 않는다.",
    "tests": []
  }
}

pull_request 로 돌던 가드는 PR 사본 YAML 로 판정해 낡은 브랜치는 옛 정책이었고,
그 구멍을 inline 종료 뒤 최신 정책을 dispatch 해 check-run 으로 재게시하는 두 번째
판정으로 메웠다. GITHUB_TOKEN 이 만든 check-run 은 같은 SHA 의 임의 check suite 에
얹혀 무관한 워크플로 이름 아래 guard 가 두 줄로 떴다.

pull_request_target 은 base 의 YAML 과 스크립트로 돌면서 check 는 PR HEAD 에 붙으므로
첫 판정이 곧 최종 판정이다. refresh-merge-order-policy 워크플로를 걷어내고, 기본
권한을 비운 뒤 job 별로 읽기·쓰기를 준다. 선행 이슈 닫힘과 토큰 커밋 SHA 의
dispatch 재게시는 이벤트가 나지 않는 경로라 남긴다.
@1hyok
1hyok merged commit b2675ae into develop Sep 11, 2026
19 checks passed
@1hyok
1hyok deleted the ci/1977 branch September 11, 2026 07:49
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): merge-order-guard 를 pull_request_target 으로 옮겨 무관한 워크플로 이름 아래 뜨는 재게시 guard 를 없앤다

1 participant