-
Notifications
You must be signed in to change notification settings - Fork 126
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PR language labeling 워크플로 수행시 403 Forbidden 오류 발생 #368
Comments
저는 개인적으로 "자동화를 위한 자동화"나 "성급한 자동화"를 경계하는 편입니다. 자칫하면 자동화의 효용은 불명확해지고 유지보수 비용만 증가시킬 수 있기 때문입니다. PR에 언어 레이블을 다는 작업의 경우, 지금까지 올라온 PR들을 보면 반드시 자동화가 필요한지 의구심이 살짝 들기도 합니다. 특별히 부탁드리지도 않았는데도 다들 자발적으로 언어 레이블을 잘 달아주시는 것 같아요. 따라서 저는 멤버들이 레이블 다는 게 귀찮다 불편하다 이러한 피드백이 있을 때 자동화를 해도 늦지 않을까 하는 생각이 듭니다. 그럼에도 불구하고 이번 건은 여태까지 @bky373께서 투자하신 시간과 노력이 좀 아까운 것 같습니다. 맨 처음에 건의 주셨을 때 말씀드렸어야 했던 것 같은데, 저도 이렇게 노이즈가 많이 발생할 줄은 몰랐네요. 제가 검토하고 승인한 PR인데 저의 불찰도 큽니다. |
@bbFactory 님이 이렇게 고생하고 계신 줄 몰랐네요. 상세한 리포트 감사합니다! 잘 읽었습니다. 혹시 문제를 해결하는데 도움이 될까 싶어, 달레님이 말씀해주신 actions/labeler를 이전 회사에서도 사용했던 경험이 있어서, 간단하게 깃허브 액션을 만들어봤습니다. 제 개인 레포지스토리에서는 잘 작동하지만 이 이슈의 중점이었던 fork 레포에서의 변경사항에도 잘 적용될지는 모르겠습니다. 바로바로 확인할 수가 없네요. 정기 미팅 시간 뒤에 시간이 좀 남는다면 같이 실험해볼 수도 있겠네요! |
배경
label
을 PR 에 추가하는 워크플로를 등록하였습니다.permissions
이 있었고 이들을 모두 작성해주었으나, 지속적으로403 Forbidden
오류가 발생하였습니다.label
을 추가하기 위해서는issues
또는pull-requests
의 쓰기(write) 권한이 필요합니다.X-Accepted-GitHub-Permissions
: GitHub API 특정 엔드포인트 접근시 필요한 권한을 알려주는 헤더 (관련 문서).data.message
에서 알 수 있듯, Response 에서는Resource not accessible by integration
이라며 리소스 접근이 불가하다고 합니다.permissions
를 정상적으로 전달하였음에도(기존 워크플로에서는pull-requests: write
적용), 오류가 지속적으로 발생하였으므로 그 이유를 찾아야 했습니다.문제 원인
fork
하지 않은 상태에서 PR을 작성하여 테스트를 진행하였습니다.leetcode-study
Repo 에 PR 을 열었습니다.fork
를 수행한 후에, 작업을 PR 로 만든다는 것을 깨닫고 테스트를 다시 수행하였습니다.fork
할 경우, PR 의 base repo 와 작업 repo 가 달라지는데, 작업자의 워크플로에서는 보안상의 이유로 base repo 의 민감 정보를 얻지 못하도록 GitHub 이 막아두고 있었습니다 (관련 문서).fork
기반 워크플로가 항상 실패했습니다.해결 방법 및 한계
pull_request_target
이벤트를 소개하고 있습니다 (관련 문서 Note 참고) (기존 워크플로의pull_request
이벤트를 대체하면 됨).java
label 이 추가된 걸 확인할 수 있습니다.label
을 추가하기 위해 base repo의 민감 정보를 굳이 얻어야 할까 싶어,leetcode-study
repo 에서는pull_request_target
이벤트를 사용하지 않고자 합니다.대안
The text was updated successfully, but these errors were encountered: