.rubocop_todo.ymlを解消するPull RequestをGitHub Actionsで自動生成する (前編)

前編ではr7kamura/rubocop-challengeというCustom Actionの話をし、後編では再実装したr7kamura/rubocop-todo-correctorというCustom Actionの話をする。

ただ開発しているだけで、.rubocop_todo.ymlはそこ此処に積もる。たまに慈善活動的に解消してPull Requestを出したりもする。しかし人力でやっているとキリがない。この作業を自動化したい。こういうときに便利な、rubocop_challengerというGemがある。

便利なGemだが、設定しようとすると幾つかハマりどころがあり、導入が大変。そこで、簡単に導入できるようにr7kamura/rubocop-challengeというCustom actionをつくった。

READMEに書いてあるようなYAMLファイルを、適当にコピペするなどしてリポジトリに置くと、rubocop-challengeというWorkflowを手動実行できるようになる。

実行すると、Pull Requestがつくられる。デフォルトではランダムでCopが1つ選択される。実質無料ガチャみたいなものだ。今回はStyle/StringLiteralsへの違反に対応してくれたらしい。

差分を見てみると、.rubocop_todo.ymlや違反のあったファイルが自動修正されていることが分かる。

READMEに書いてあるように、手動実行はCLIからも行える。GitHub Actionsにはスケジュール機能もあるので、慣れてきたら定期的に実行するようにしても良いと思う。

後編に続く。