DependabotによるアップデートPRでCIが通らないケースがあったので解決法のメモ

Dependabotは、GitHubが提供しているbotで、gemなどのバージョンアップを自動で検知してアップデートのPRを作ってくれるというとっても便利な機能。

docs.github.com

Rails7.2からデフォルトで有効になっていて、先日学習用にRails8をインストールしたら自動でアップデートPRを作ってくれるようになった。

学習用リポジトリで中身もほとんど入っていないので、まずは慣れるために基本的にどんどんマージしているのだけど、いくつか並行してPRが作られていて順番にマージしてたら、何やらCIのエラーが発生してマージできない事態が発生した。

怒られが発生

今は大変ありがたいことに、コパイロットが解説もしてくれるのでそれも参照しサクッと解決できそうだったので、備忘録も兼ねてメモしておきます。

解決した手順

まずは、dependabotさんが作ってくれたPRをローカルに持ってくる。

% git fetch origin
% git checkout -b dependabot/bundler/selenium-webdriver-4.31.0 origin/dependabot/bundler/selenium-webdriver-4.31.0

続いて、bundle update brakemanを実行すると、Gemfile.lockが更新される。

-    brakeman (7.0.0)
+    brakeman (7.0.2)

大丈夫そうなのでコミットしてプッシュ。

git add .
git commit -m "brakemanのバージョンを7.0.0から7.0.2に修正"
git push origin dependabot/bundler/selenium-webdriver-4.31.0

再びCIが走って、無事マージできるようになりました。

All Greenになった🎉

バージョンアップはこまめにやる習慣をつけておきたいので、期せずして学習用リポジトリでちょくちょく経験を積めるのは大変ありがたいです🚀