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

前編の続き。

前編ではr7kamura/rubocop-challengeというCustom Actionをつくった。ごく単純なリポジトリでは問題無く動作する。しかし大きなリポジトリに導入してみると、使っているRuboCopのプラグインに起因する依存関係の問題でまともに動かないことが分かった。そこで、自分のユースケースに合うものを一から実装した。

r7kamura/rubocop-todo-correctorというCustom Actionが出来上がった。これは依存関係で問題が起きづらい。使われているRuboCopのプラグインを解析し、適切なバージョンのGem群をインストールして使う。

実装は簡素なものになった。Rubyに関する処理だけを担当するコマンドラインツールを用意し、Gitに関する処理はGitのコマンドで、GitHubに関する処理はGitHub CLIのコマンドで行っている。

前編と同じく、実際に動かしている画面を掲載する。READMEに書かれている通りにYAMLファイルを置くと、上のようなボタンが表示されるようになる。

ボタンを押すと、1分ほどで上のPull Requestが作成される。