최근에 강조되는 아니, 항상 강조해도 모자라는 보안을 손수 실천하기 위해 2FA를 적용하여 사용 중입니다. 그래서 CLI를 통해 pull/push를 하려면, personal access token(PAT)을 발행하여 사용해야 합니다. 이 토큰 발생시에 토큰으로 할 수 있는 권한을 부여할 수 있습니다. 대게 pull/push만 하는거라 cli용 토큰에는 repo 권한만 넣은 채로 사용중이었습니다.
그런데 새로 받은 오픈소스를 수정하여 리파지토리에 push하려고 하는데 " ! [remote rejected] main -> main (refusing to allow a Personal Access Token to create or update workflow `.github/workflows/auto-review.yml` without `workflow` scope)" 요런 에러가 발생하네요.
메시지를 보자면, 워크플로우 범위 없이는 PAT의 워크플로우 생성 또는 업데이트를 거부합니다. 이니, 다음과 같이 사용중인 PAT에 workflow 권한을 추가하면 됩니다. ( 괜히 github action용 workflow 파일을 보여줘서 살짝 헤맸습니다. 저 파일을 수정해야 한다는 줄 알고.. )
그리고 나면 정상적으로 push가 됩니다.
그리고, workflow관련된 것이기 때문에, 처음 소스코드를 push할때만 발생하고, 포크 등으로 이미 푸시되어 있는 경우에는 발생하지 않는것 같습니다. 단, workflow를 수정할때도 발생하겠네요.