Repository navigation
fix(platform): 스택 안내 코멘트에 pull-requests 쓰기 권한을 준다 (#2068) - #2070
Merged
Merged
Conversation
notify-affected-pull-requests job 이 코멘트를 남기는 대상은 언제나 PR 이다.
GitHub 은 issues/{n}/comments 의 필요 스코프를 대상 타입으로 가르므로 PR 에
쓰려면 pull-requests 쓰기가 필요하다. read 로 두면 목록 GET 은 통과하고 첫
POST 에서 403 이 나 스택 상위 PR 안내가 통째로 막힌다.
merge-order-guard-policy.test.mjs 는 issues 쓰기만 계약으로 박아 두고
pull-requests 칸은 비워 뒀다. 그 빈칸이 read 로 머문 채 머지된 경로라
같은 자리에 단언을 더한다. 권한을 read 로 되돌리면 그 테스트가 실패한다.
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.
📌𝘐𝘴𝘴𝘶𝘦𝘴
📎𝘞𝘰𝘳𝘬 𝘋𝘦𝘴𝘤𝘳𝘪𝘱𝘵𝘪𝘰𝘯
stack-integrity-notify.yml의notify-affected-pull-requestsjob 권한에서pull-requests를 read 에서 write 로 올립니다. 이 job 이 코멘트를 남기는 대상은 언제나 PR 이고, GitHub 은issues/{n}/comments의 필요 스코프를 대상 타입으로 가르기 때문에 read 로는 목록 GET 만 통과하고 첫 POST 에서 403 이 납니다.merge-order-guard-policy.test.mjs의 stack-integrity 권한 단언에pull-requests: write를 더합니다. 그 테스트는issues: write만 계약으로 박아 두고pull-requests칸을 비워 뒀고, 그 빈칸이 read 로 머문 채 머지된 경로입니다.permissions: {}와 job 의issues: write는 건드리지 않았습니다. 전자는 narrow bridge 불변식입니다.검증
CLOSED_PR: 1763으로 돌다gh: Resource not accessible by integration (HTTP 403)로 죽은 것이 이 결함입니다. 대상 fix(afternote): 수정 PATCH 가 안 건드린 필드를 싣지 않게 한다 (#1617) #1626, fix(afternote): 프로세스 사망 복원 뒤 프리필이 미저장 편집을 덮지 않게 한다 (#1732) #1839, refactor(afternote): 합본 UserRepository 대신 좁은 계약 UserReceiverRepository·MyProfileRepository 를 주입한다 (#1743) #1837, refactor(afternote): SaveAfternoteUseCase 로 저장 명령 해석 경계를 복원한다 (#1694) #1838 은 전부 PR 입니다.node --test .github/scripts/*.test.mjs693건 전량 통과.pull-requests: read로 되돌리면merge-order-guard-policy.test.mjs의live CLOSED warns upper PRs ...가 실패합니다(pass 31 / fail 1). 초록인 채로 통과하는 가드가 아닙니다.🧪 CI Test Plan
{ "androidTest": { "mode": "none", "reason": "변경이 .github/workflows/stack-integrity-notify.yml 의 job permissions 한 줄과 그것을 잠그는 .github/scripts 정책 테스트 단언뿐이다. 앱 소스, AndroidManifest, navigation 패키지, MainActivity, 계측 하네스, 전역 Gradle 파일을 건드리지 않아 계측 경계가 움직이지 않는다.", "tests": [] } }📷𝘚𝘤𝘳𝘦𝘦𝘯𝘴𝘩𝘰𝘵
💬𝘛𝘰 𝘙𝘦𝘷𝘪𝘦𝘸𝘦𝘳𝘴
screenshot.yml은issues스코프 없이pull-requests: write만으로 PR 에 코멘트를 성공시키고,conflict-label.yml과merge-queue-dequeue.yml은 둘 다 쓰기를 갖습니다.issues: write+pull-requests: read조합은auto-close-issue.yml뿐인데 그쪽은 PR 을 명시적으로 건너뜁니다.issues: write를 좁히지 않은 이유는 같은 테스트 파일이 그것을 단언하고 있기 때문입니다. 좁히려면 그 단언을 함께 고쳐야 하는데, 이 job 이 이슈에 쓸 일이 생길 여지를 남겨 두는 쪽을 택했습니다.