こんにちは、CX 事業本部 Delivery 部の若槻です。
2023/6/30 より公開ベータとして提供されていた Grouped version updates for Dependabot ですが、2023/8/24 より GA(一般利用可能)となりました。
Grouped version updates の機能
Grouped version updates for Dependabot の GA 版では、公開ベータから引き続き次のグループ化オプションが利用可能です。(ただし、security updates および alerts に対しては引き続き未提供とのこと)
patterns
:パターンによるグループ化dependency-type
:依存関係タイプによるグループ化update-types
:更新タイプによるグループ化
パターンによるグループ化
patterns
オプションを使用することで、依存関係のパッケージ名によるグループ化が可能です。ワイルドカードも使用可能です。AWS SDK など一度に同じバージョンへのアップデートがリリースされることが多いパッケージのグループ化で便利です。またexclude-patterns
オプションを使用することで、特定のパッケージを除外することも可能です。
.github/dependabot.yml
version: 2
updates:
- package-ecosystem: npm
directory: /
schedule:
interval: weekly
groups:
aws-sdk-dependencies:
patterns:
- '@aws-sdk/*'
exclude-patterns:
- '@aws-sdk/client-s3'
次の記事では、実際にpatterns
およびexclude-patterns
オプションを使用して、依存関係のパッケージ名によるグループ化を行っています。
依存関係タイプによるグループ化
dependency-type
オプションでdevelopment
とproduction
のいずれかを指定することで、依存関係のタイプによるグループ化が可能です。タイプによって CI での処理を分けたい場合などに便利です。
.github/dependabot.yml
version: 2
updates:
- package-ecosystem: npm
directory: /
schedule:
interval: daily
groups:
prod-dependency:
dependency-type: production
dev-dependency:
dependency-type: development
次の記事では、実際にdependency-type
オプションを使用して、依存関係のタイプによるグループ化を行っています。
更新タイプによるグループ化
update-types
オプションでmajor
、minor
、patch
のいずれかを指定することで、更新タイプによるグループ化が可能です。こちらも CI での処理を分けたい場合などに便利です。
.github/dependabot.yml
version: 2
updates:
- package-ecosystem: npm
directory: /
schedule:
interval: daily
groups:
angular:
patterns:
- '*'
update-types:
- minor
- patch
次の記事では、実際にupdate-types
オプションを使用して、更新タイプによるグループ化を行っています。
おわりに
Grouped version updates for Dependabot が GA(一般利用可能)となったのでご紹介しました。
グループ化の仕方にはいくつかのオプションがあり、また複数のオプションを組み合わせて柔軟な PR 生成をさせることが可能です。ぜひご活用ください。
参考
以上