Grouped version updates for Dependabot が GA(一般利用可能)となりました

2023.08.28

こんにちは、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オプションでdevelopmentproductionのいずれかを指定することで、依存関係のタイプによるグループ化が可能です。タイプによって 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オプションでmajorminorpatchのいずれかを指定することで、更新タイプによるグループ化が可能です。こちらも 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 生成をさせることが可能です。ぜひご活用ください。

参考

以上