Skip to content

Hold semver-major Dependabot bumps for a human - #23

Merged
systemslibrarian merged 1 commit into
mainfrom
deps/majors-wait-for-a-human
Nov 10, 2026
Merged

systemslibrarian merged 1 commit into
mainfrom
deps/majors-wait-for-a-human

Conversation

@systemslibrarian

Copy link
Copy Markdown
Owner

Dependabot auto-merge in this repo merged any bump whose gate went green, including a semver-major: dependabot/fetch-metadata ran but its update-type output was never read.

This gates the merge step on it:

      - id: meta
        uses: dependabot/fetch-metadata@v3
      - name: Merge any bump whose gate went green
        if: steps.meta.outputs.update-type != 'version-update:semver-major'

The gate is on the step, not the job, so the job still runs and reports green — a major simply isn't merged, and the PR stays open for a person. Minor and patch keep merging themselves.

.github/dependabot.yml also gives the github-actions group update-types: [minor, patch]. That matters because fetch-metadata reports the highest semver change in a PR, so without it a grouped Actions PR containing one major would be refused as a whole and its patch/minor members would be stuck behind it. Actions majors now arrive as their own PRs.

Applied fleet-wide across the 219 repositories whose auto-merge had no update-type gate. 34 repos already gated and were left alone; the != form is used everywhere for uniformity, because it fails closed if a new update-type is ever added.

What changed here:

  • metadata step already had id: meta
  • rewrote the rationale comment
  • added the gate to the merge step
  • restricted the github-actions group to minor/patch

🤖 Generated with Claude Code

The auto-merge job ran dependabot/fetch-metadata and never read its
update-type output, so a green gate merged a major exactly as readily as
a patch. The merge step now carries

    if: steps.meta.outputs.update-type != 'version-update:semver-major'

on the step rather than the job, so the job still runs and reports green
and the major is simply left open for a person. Minor and patch are
unchanged.

.github/dependabot.yml also restricts the github-actions group to minor
and patch. fetch-metadata reports the HIGHEST semver change in a pull
request, so without that restriction one Actions major would refuse the
whole group and strand its patch and minor members. Actions majors now
arrive as individual pull requests.

Changes made here: metadata step already had id: meta; rewrote the rationale comment; added the gate to the merge step; restricted the github-actions group to minor/patch.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@systemslibrarian
systemslibrarian merged commit 187ae65 into main Nov 10, 2026
6 checks passed
@systemslibrarian
systemslibrarian deleted the deps/majors-wait-for-a-human branch November 10, 2026 01:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant