GitHubがDependabotの更新を月次一括化する手法を公開
出典:GitHub公式
詳細を読む
GitHubは7月29日、依存関係を自動更新するDependabotが生み出すプルリクエスト(PR)の氾濫を抑える設定手法を公式ブログで公開しました。既定設定のままでは、単一の依存だけを更新するPRが毎日大量に開き、重要な更新が見落とされやすくなります。同社はMicrosoftのオープンソース「GCToolkit」を例に、数分で導入できる3つの設定変更を示しました。
GitHubが調べたGCToolkitでは、578件のcommitのうち92件、およそ6件に1件がDependabotによるバージョン更新でした。直近12か月だけで61件に上り、1日に複数回開くこともあったといいます。個々の更新は有益でも、積み重なればレビューやCIの負担となり、雑音の中で本当に重要な更新が埋もれてしまいます。
改善策はdependabot.ymlのわずかな修正です。更新をグループ化して複数の依存を1本のPRにまとめ、更新頻度を毎日から月次へ緩めます。さらに、これまで対象外だったMavenなど、実際に使う全エコシステムを設定に追加します。
頻度を落としても安全性は損なわれません。セキュリティ更新は脆弱性の公開を契機に即時発行され、月次のスケジュールとは切り離されているためです。加えて、新しいリリースは公開から3日間待機してからPRを開く既定の仕組みも備わり、供給網攻撃のリスクを下げます。
導入は数分で済みます。各エコシステムの更新頻度をmonthlyかweeklyに設定し、すべての依存をまとめるワイルドカードのグループを加えるだけです。日常的な更新は静かに一括処理され、緊急の修正は素早く通るため、十数行のYAMLで重要な更新を見逃さない運用が実現します。