Renovateのどこがいいのかを調べた(Dependabotと比較して)

Dependabotの代替としてRenovateが選ばれることが最近は多いらしい。理由が気になったので調べてみた。

Dependabotとどう使い分けるかの結論

DependabotはGitHub謹製という安心感が大きいのと、設定がシンプル。

どちらが優れているとかじゃないので好みでいい。だけど、以下の特徴に書いた、monorepo, ノイズを減らす、とかに価値を感じるなら、Renovateがいい。あとは、GitHub Actionsでsecretsにアクセスできるというのも選ぶポイントになるかもしれない。

Renovateの特徴

Mend Renovate: Automated Dependency Updates

依存性更新ツール。大きな特徴は以下の3つ。

  • Opinionated(設定が空でも動く)
  • monorepo構成をサポート
  • ノイズを減らすことにフォーカス

Dependabotを比較しての違い

  • デフォルトでの振る舞いが定義されているので、設定ファイルが空でも利用できる
    • Opinionatedなところが最近のツールっぽい。prettierみたい
  • monorepo構成をサポートしている
  • テストが通る更新なら自動でマージさせることができる
    • minor以下みたいな条件設定ができないから怖いんだけど
  • GitHub Actionsでsecretsにアクセスできる
    • pull_request_target イベントを使わなくてよかったり、(github.event_name == ‘pull_request_target’ && github.actor == ‘dependabot[bot]’) の分岐を入れなくてよかったりする
  • git-submodules, .circleci/config.ymlとかも対応している
  • 設定がめちゃめちゃ細かくできる
  • PRをグルーピングできる