[GitHub] Dependabot updates は 90 日間操作が無い場合は自動で無効化される
こんにちは、製造ビジネステクノロジー部の若槻です。
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 rebase. See open Dependabot pull requests or learn more about pausing of activity.
(日本語訳)
Dependabot をしばらく使用していないことがわかったため、このリポジトリの自動 Dependabot 更新を一時停止しました。再開するには、Dependabot を操作するだけです。
たとえば、Dependabot プル リクエストをマージするか、@dependabot リベースを使用します。オープンな Dependabot プル リクエストを参照するか、アクティビティの一時停止の詳細を確認してください。
Dependabot をしばらく使用していなかったため、自動更新が一時停止されているとのことです。
ここで、Dependabot のジョブ履歴を確認してみると、4 日前(2024/07/02)より自動更新が停止されていました。
ちなみにこの環境では以下の構成ファイルの通り毎日更新を行うように設定していました。
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 のドキュメントを確認すると、次のように記載されていました。
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 についても同様の仕様の記載がありました。
結論として、Dependabot の version updates および security updates は ユーザーによる Dependabot に関連する操作が 90 日間行われていない場合には自動更新が無効化される という仕様があることがわかりました。
おわりに
Dependabot は依存関係のアップデートを自動で行ってくれる便利なツールですが、90 日間操作が無い場合には自動更新が無効化されるという仕様があることをご紹介しました。
Dependabot による自動更新を設定しているリポジトリの開発や運用をしばらく行わない場合は、更新が意図せず停止していないかチェックするようにしましょう。
以上