From ab7f652904e34de1d785f4ba7f94f14316448a9a Mon Sep 17 00:00:00 2001 From: wrongwrong Date: Fri, 11 Sep 2026 19:41:46 +0900 Subject: [PATCH] =?UTF-8?q?ci:=20Kotlin=20=E3=81=AE=E7=89=88=E5=AE=A3?= =?UTF-8?q?=E8=A8=80=E3=82=92=E5=85=B1=E6=9C=89=E3=81=99=E3=82=8B=E4=BE=9D?= =?UTF-8?q?=E5=AD=98=E3=82=921=E3=81=A4=E3=81=AE=E6=9B=B4=E6=96=B0=20PR=20?= =?UTF-8?q?=E3=81=B8=E6=9D=9F=E3=81=AD=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit catalog の `[versions] kotlin` はライブラリ 5 件とプラグイン 2 件が version.ref で共有する単一の 版宣言だが、group-by: dependency-name は依存名ごとに部分グループを作るため、同じ 1 行を書き換える だけの PR が依存の数だけ並んでいた。既定の open-pull-requests-limit (5) も 1 つの更新で埋まる。 Kotlin 系をパターンで束ねる kotlin グループを足し、残りは従来どおり依存名ごとの単一 PR とする。 group-by の部分グループは他のグループへの割り当てを見ずに親の contains? だけで対象を選ぶため、 二重の PR にならないよう gradle-builds 側は exclude-patterns で同じ対象を外す。 ディレクトリ跨ぎの重複を防ぐ gradle wrapper 等の扱いは変えていない。 Co-Authored-By: Claude Opus 5 --- .github/dependabot.yml | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 97d110e..2de6f83 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -19,7 +19,7 @@ updates: # integration-test は独立した Gradle ビルドだが、その settings はルートビルドを composite 参照するため、 # /integration-test の更新ジョブが見るマニフェストはルート側(gradle wrapper 等)を含む。 # ディレクトリごとに更新ジョブを分けると同一の更新が別々の PR として二重に出るため、両者を1つの - # 更新設定にまとめ、group-by で依存名ごとの単一 PR へ束ねる(PR の対象範囲と表題も一致する) + # 更新設定にまとめ、groups で PR の粒度を決める(PR の対象範囲と表題も一致する) - package-ecosystem: "gradle" directories: - "/" @@ -30,8 +30,20 @@ updates: time: "19:00" timezone: "Asia/Tokyo" groups: + # Kotlin のライブラリとプラグインは catalog の単一の版宣言(version.ref = "kotlin")を共有する。 + # 依存名ごとに分けると同じ 1 行を書き換えるだけの PR が依存の数だけ並ぶため、パターンで束ねる。 + # 版宣言を持つのはルート側の catalog だけなので、束ねてもディレクトリを跨いだ二重の PR にはならない + kotlin: + patterns: + - "org.jetbrains.kotlin:*" + - "org.jetbrains.kotlin.*" + # 残りは依存名ごとの単一 PR へ束ねる。group-by は部分グループを作る際に他のグループの + # 割り当てを見ないため、kotlin グループが持つ対象は exclude-patterns で明示的に外す gradle-builds: group-by: "dependency-name" + exclude-patterns: + - "org.jetbrains.kotlin:*" + - "org.jetbrains.kotlin.*" ignore: # Maven 系の版は kotlin-maven-plugin の親 POM から導出する値であり(ルートの syncMavenVersion)、 # 独立して選べる更新対象ではない。Kotlin の更新に伴って追随する