Skip to content

deps-merge gains an unattended mode for Dependabot pip PRs - #176

Merged
brunogbv merged 1 commit into
mainfrom
deps-merge-unattended
Oct 17, 2026
Merged

brunogbv merged 1 commit into
mainfrom
deps-merge-unattended

Conversation

@brunogbv

@brunogbv brunogbv commented Oct 17, 2026 •

Copy link
Copy Markdown
Collaborator

Summary — deps-merge --repo OWNER/REPO --unattended is the mode marola-dev/marola#740's scheduled job runs with a marola-merge-bot token minted without Workflows. On top of the interactive rules (mergeable, every check green), it merges a PR only when Dependabot authored it and every commit on it, it has no hold label, it changes only Python manifests (requirements*.txt, pyproject.toml, a lock file), and every changed manifest line is the same dependency with only its versions moved, none by a major.

Closes #150

MIP none — not MIP-scoped
Tested ✅ gates · ⬜ e2e · ⬜ live · ⬜ ci-only — deps-merge.sh --self-test 23/23 ok (11 new cases fail with the unattended rules off); a read-only --dry-run on marola-ml refuses #78 only for its CANCELLED check and makes it READY, pinned to its head commit, when that check is set green; claude plugin validate not run (not on PATH)

What changed

  • deps-merge gains an unattended mode for Dependabot pip PRs (7676d13)

`deps-merge --repo OWNER/REPO --unattended` is the mode marola-dev/marola#740's scheduled job runs
with a marola-merge-bot token minted without Workflows. On top of the interactive rules (mergeable,
every check green), it merges a PR only when Dependabot authored it and every commit on it, it has
no `hold` label, it changes only Python manifests (requirements*.txt, pyproject.toml, a lock file),
and every changed manifest line is the same dependency with only its versions moved, none by a
major. A 0.x minor counts as major, and a raised upper bound (<4 to <5) is a major too.

The versions come from the diff, not the PR body: Dependabot's pip range updates (marola-ml#78)
carry no update-type, and the compare links are unreliable (marola-ml#21's torch link). A
`semver-major` in the commit metadata still refuses. The merge passes --match-head-commit, so a push
after the checks ran cannot be merged unchecked. Each refused PR gets one stderr line naming the
rule. The caller checks AUTO_MERGE. The interactive mode is unchanged.

Closes #150

Tested: gates — deps-merge.sh --self-test 23/23 ok (11 new cases fail with the unattended rules off); a read-only --dry-run on marola-ml refuses #78 only for its CANCELLED check and makes it READY, pinned to its head commit, when that check is set green; claude plugin validate not run (not on PATH)
Co-Authored-By: Claude <noreply@anthropic.com>
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.

deps-merge gains an unattended mode: Dependabot author, Python manifests only, patch or minor, green, no hold

1 participant