From 671c3c7c8cd805fd74e004a17624191f64467f9b Mon Sep 17 00:00:00 2001 From: Matthew Jackson <1085847+MattJackson@users.noreply.github.com> Date: Sun, 9 Aug 2026 16:48:31 -0700 Subject: [PATCH] Have Dependabot watch the dependencies, and land its PRs on dev Version updates were never configured here -- only security alerts, which report but never open a pull request. So the absence of Dependabot PRs was not "nothing to update", it was "nothing was checking". Updates target `dev`, never `main`. main is a release pointer that release.sh moves to each tag, so a bot commit on it would put work there that no tag contains -- the exact state that aborted the 1.6.2 cascade at its last step, and pointing a scheduled bot at main would recreate it weekly. Minor and patch bumps are grouped into one PR rather than one per crate: eight repos times a handful of dependencies is a volume nobody reads, and an unread PR queue is indistinguishable from no updates at all. The freemkv crates are excluded. They depend on each other by git tag, re-pinned by release.sh inside the release commit, and Dependabot cannot see that cascade -- a PR bumping one could pin a version whose tag does not exist yet. --- .github/dependabot.yml | 48 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..dc7ed1b --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,48 @@ +version: 2 + +# Dependency updates land on `dev`, never on `main`. +# +# `main` here is a RELEASE POINTER that release.sh moves to each tag. A bot +# commit on it would put work there that no tag contains, which is exactly the +# state that aborted the 1.6.2 cascade at the last step -- so pointing +# Dependabot at main would recreate that failure on a schedule. +updates: + - package-ecosystem: cargo + directory: / + target-branch: dev + schedule: + interval: weekly + open-pull-requests-limit: 5 + # One PR per week for the routine bumps instead of one per crate. Eight + # repos times a handful of crates is a volume nobody reads, and an + # unread PR queue is indistinguishable from no updates at all. + groups: + minor-and-patch: + update-types: + - minor + - patch + ignore: + # The freemkv crates depend on each other by GIT TAG, re-pinned by + # release.sh as part of the release commit. Dependabot cannot see that + # cascade, so a PR bumping one of these would fight the release process + # and could pin a version whose tag does not exist yet. + - dependency-name: freemkv-unlock + - dependency-name: libfreemkv + - dependency-name: freemkv-keysources + - dependency-name: freemkv-i18n + - dependency-name: freemkv-engine + + # The workflows are now real infrastructure -- the release cascade, the + # cross-platform hash matrix, the disc gate -- so their actions need the same + # attention as the crates. + - package-ecosystem: github-actions + directory: / + target-branch: dev + schedule: + interval: weekly + open-pull-requests-limit: 5 + groups: + actions: + update-types: + - minor + - patch