Repository navigation
Conversation
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 재게시는 이벤트가 나지 않는 경로라 남긴다.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
변경
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 가 없어 이름 혼동도 생기지 않는다.create-ci-config.test.mjs의 pull_request_target 허용 목록(narrow bridge 불변식)에 이 워크플로를 추가한다.검증
node --test .github/scripts/*.test.mjs683건 통과.actionlint는 develop 과 같은 SC2016 info 4건만 남고 error·warning 0건.git diff --check통과.리뷰어에게
guard는 그대로다. 이 PR 자체는 아직pull_request로 돈 base 정의를 쓰므로, 한 줄로 뜨는 것은 머지 뒤 열리는 PR 부터다.guard두 줄은 다음 push·edited 에서 한 줄로 갱신된다.연결 이슈
Closes #1977
CI Test Plan
{ "androidTest": { "mode": "none", "reason": "머지 순서 가드 워크플로와 그 정책 테스트만 변경한다. Android 앱·네비게이션·계측 경계는 변경하지 않는다.", "tests": [] } }