生涯未熟

生涯未熟

プログラミングをちょこちょこと。

Outside Collaboratorはrulesetsをbypassできないので、GitHub Appsを代わりに使う

GitHubでちょっとハマったところが出たので備忘録。

GitHub Actions(以下、GHA)の中のとあるstepで、PRに紐づくbranchにcommitを積むといった処理をしていました。
ここが、最近Copilot reviewをPRがopenになった時に自動実行するためにrulesetsを追加したところ落ちるようになってしまった、という背景があります。

commitを積んでいたユーザーをrulesetsにbypassさせればいいやーと考えていたのですが、Outside Collaboratorとして登録していた人間に紐づかないbot userがbypassに指定できないという仕様がありました。
こりゃ困ったとGitHubのdiscussionを漁ったのですが、まさにな解決策を見つけました。

github.com

たしかにGitHub Appsからやればいけそう!ということで、このコメントの実装を参考に書き直したところ再び動かすことができました🎉

※ 余談 ちなみにCopilot reviewの自動アサインを、rulesetsの Require a pull request before merging を使わない形でできないか色々やってみましたが無理でした😭
一応、CopilotのUser profileを見て、loginに設定されているCopilotを gh pr edit 1 --add-reviewer Copilot のようにreviewer指定してみたのですが、 Copilot not foundと返されてしまいました・・・
できたら、rulesetsに頼らなくて済むので楽なんだがなぁ。