TL;DR
-
Dependabot
がversion catalog
に対して更新対象を検索する場合、repositories
設定はルートに定義された値が参照されるらしい - 当該プロジェクトでは、
GitHub Packages
へのアクセス設定が各サブモジュールにしか定義されておらず、検索が失敗していた- 見つからない依存が有った場合も、
Dependabot
のアクションは失敗にならないようだった
- 見つからない依存が有った場合も、
状況
gradle
のマルチモジュールプロジェクトをversion catalog
移行した際、社内のGitHub Packages
に置かれた依存に対してDependabot
が反応しませんでした。
ログを見た所、ステータスそのものは正常終了となっていましたが、当該依存に関する検索結果が404
になっていました。
原因と対処
GitHub Packages
に置かれた依存を使うためには、通常ではrepositories
にシークレット関連の設定が必要1です。
当該リポジトリでは、それらのシークレット設定は各サブモジュールに書かれていました。
これまでのDependabot
設定ではモジュール毎に指定が有ったためか、この状態で問題無く動いていましたが、version catalog
化後の設定では、プロジェクトルートにもこの設定が必要となるようです。
弊チームでは、allProjects
に一括設定する方針としました。
allprojects {
repositories {
mavenCentral()
// dependabotが社内GitHub Packagesの依存を検索できるようにする設定
maven {
/* シークレット設定 */
}
}
}