GitHubActions内でPullRequestの作成やタグのpushをしようとすると403エラーが出るときの対処法
どういう問題が起こったか
個人開発で新しいリポジトリを作成し、GitHubActionsを使ってCI/CD周りを整備していた。
ところが、他のリポジトリでは正常に動いているワークフローが失敗してしまった。具体的に失敗するワークフローは、PullRequestを作成するものとタグを作成してpushするもので、どちらも以下のエラーを吐いていた。
fatal: unable to access 'https://github.com/okaryo/sample/': The requested URL returned error: 403
Error: The process '/usr/bin/git' failed with exit code 128
それらのワークフロー内で使用しているActionのpeter-evans/create-pull-request
やsoftprops/action-gh-release
の問題かと思ってそれぞれのイシューを探してみたが違うようだった。
あれこれ悪戦苦闘してやっと原因が分かった。
解決方法
リポジトリの設定でGitHubActions用のパーミッションを適切に許可しておく必要があったようだった。
リポジトリ内のSettings > Actions > General > Workflow permissions
で、Read and write permissions
の設定をオンにする。また、ワークフロー内でPullRequestを作成する場合はAllow GitHub Actions to create and approve pull requests
にチェックをして設定を保存をする。
これでワークフローが成功するようになった。
おわり
以前ワークフローを組んだとき、この設定してたっけ?何はともあれ次はこれに時間を取られないようにしたい。