[GitHub] Dependabot updates は 90 日間操作が無い場合は自動で無効化される

[GitHub] Dependabot updates は 90 日間操作が無い場合は自動で無効化される

Clock Icon2024.07.06 09:04

こんにちは、製造ビジネステクノロジー部の若槻です。

GitHub の Dependabot には依存関係を自動でアップデートしてくれる次の機能があり、これによりバグや脆弱性の修正を迅速に行うことが可能となります。

今回は、これらの Dependabot updates は 90 日間操作が無い場合に自動で無効化される という仕様のご紹介です。

Dependabot の更新がいつの間にか停止していた

ある日、GitHub のリポジトリで Dependabot が生成した Pull Request を確認すると、次のような通知が表示されていました。

Dependabot updates are paused

We noticed you haven't used Dependabot in a while, so we've paused automated Dependabot updates for this repository. To resume, simply interact with Dependabot.

For example, merge a Dependabot pull request or use @dependabot rebaseSee open Dependabot pull requests or learn more about pausing of activity.

(日本語訳)
Dependabot をしばらく使用していないことがわかったため、このリポジトリの自動 Dependabot 更新を一時停止しました。再開するには、Dependabot を操作するだけです。
たとえば、Dependabot プル リクエストをマージするか、@dependabot リベースを使用します。オープンな Dependabot プル リクエストを参照するか、アクティビティの一時停止の詳細を確認してください。

Dependabot をしばらく使用していなかったため、自動更新が一時停止されているとのことです。

ここで、Dependabot のジョブ履歴を確認してみると、4 日前(2024/07/02)より自動更新が停止されていました。

ちなみにこの環境では以下の構成ファイルの通り毎日更新を行うように設定していました。

dependabot.yml
version: 2
updates:
  - package-ecosystem: npm
    directory: /
    schedule:
      interval: daily
    groups:
      minor-and-patch:
        patterns:
          - '*'
        update-types:
          - minor
          - patch

90 日間操作が無い場合は自動で無効化される

Depndabot により生成された Pull Request の一覧を確認すると、最後にユーザー(私)が操作したのは 2024/4/3、自動で無効化される約三ヶ月前でした。

そこで Dependabot version updates のドキュメントを確認すると、次のように記載されていました。

https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/about-dependabot-version-updates

An active repository is a repository for which a user (not Dependabot) has carried out any of the actions below in the last 90 days:

  • Merge or close a Dependabot pull request on the repository.
  • Make a change to the dependabot.yml file for the repository.
  • Manually trigger a security update or a version update.
  • Enable Dependabot security updates for the repository.
  • Use @dependabot commands on pull requests.

An inactive repository is a repository that has at least one Dependabot pull request open for more than 90 days, has been enabled for the full period, and where none of the actions listed above has been taken by a user.

(日本語訳)
アクティブなリポジトリとは、過去 90 日間にユーザー (Dependabot ではない) が以下のいずれかのアクションを実行したリポジトリです。

  • リポジトリで Dependabot プル リクエストをマージまたはクローズします。
  • リポジトリのdependabot.yml ファイルに変更を加えます。
  • セキュリティ更新またはバージョン更新を手動でトリガーします。
  • リポジトリの Dependabot セキュリティ更新を有効にします。
  • プル リクエストで @dependabot コマンドを使用します。

非アクティブなリポジトリとは、90 日以上開いている Dependabot プル リクエストが少なくとも 1 つあり、全期間有効になっており、上記のアクションがユーザーによって実行されていないリポジトリです。

version updates のみならず、security updates についても同様の仕様の記載がありました。

https://docs.github.com/en/code-security/dependabot/dependabot-security-updates/about-dependabot-security-updates

結論として、Dependabot の version updates および security updates は ユーザーによる Dependabot に関連する操作が 90 日間行われていない場合には自動更新が無効化される という仕様があることがわかりました。

おわりに

Dependabot は依存関係のアップデートを自動で行ってくれる便利なツールですが、90 日間操作が無い場合には自動更新が無効化されるという仕様があることをご紹介しました。

Dependabot による自動更新を設定しているリポジトリの開発や運用をしばらく行わない場合は、更新が意図せず停止していないかチェックするようにしましょう。

以上

この記事をシェアする

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.