GitHub: Dependabot でパッケージ更新を自動化

GitHub: Dependabot でパッケージ更新を自動化

August 10, 2022

リポジトリで Dependabot を有効化する #

まずはリポジトリの以下から有効化します。

Insights > Dependency graph > Dependabot > "Enable Dependabot" をクリック

ついつい Settings の方を探してしまいがちだと思いますが、Dependabot は Insights にあることに注意です。

設定ファイル dependabot.yml を作成する #

Dependabot を有効化すると “Dependabot version updates aren’t configured yet” というメッセージとともに “Create config file” というボタンがあるはずです。

こちらを押下すると、プロジェクト直下に以下のファイルを作成する画面になります。

[your-project]/.github/dependabot.yml

# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates

version: 2
updates:
  - package-ecosystem: '' # See documentation for possible values
    directory: '/' # Location of package manifests
    schedule:
      interval: 'weekly'

上記を直接編集してコミットしても良いですし、あるいはローカルで上記ファイルを作成後、プッシュやプルリクエストなどで GitHub に反映させても同じです。

これですべての作業は完了です。

dependabot.yml の例 #

2つほど例を置いておきます。

version: 2
updates:
  - package-ecosystem: 'npm'
    directory: '/'
    schedule:
      interval: 'daily'
    open-pull-requests-limit: 1
    ignore:
      - dependency-name: '*'
        update-types: ['version-update:semver-major']

  - package-ecosystem: github-actions
    directory: '/'
    schedule:
      interval: 'monthly'
version: 2
enable-beta-ecosystems: true
updates:
  - package-ecosystem: 'pub'
    directory: '/'
    schedule:
      interval: 'weekly'

👆 pub パッケージ対応は現在 BETA 版のため enable-beta-ecosystems: true を記載する必要があります。

参考 #

GitHub Docs #

GitHub Blog #