Skip to content

Group dependabot updates natively, drop Combine PRs workflow - #45

Merged
xhan97 merged 1 commit into
mainfrom
deps/dependabot-groups
Aug 15, 2026
Merged

Group dependabot updates natively, drop Combine PRs workflow#45
xhan97 merged 1 commit into
mainfrom
deps/dependabot-groups

Conversation

@xhan97

Copy link
Copy Markdown
Collaborator

Replaces the Combine PRs workflow with dependabot's native grouped updates.

Why

.github/dependabot.yml had no groups:, so every dependency got its own PR and the Combine PRs workflow stitched them back together downstream. Dependabot has supported grouped updates natively since 2023 — it opens one combined PR per group upstream, with no extra workflow involved.

The workflow was also broken. It had failed on every run since 2026-03-25 — 20 consecutive failures:

HttpError: Resource not accessible by integration
- .../rest/git/refs#create-a-reference
Failed to create combined branch

It needs contents: write to create the combined branch. The repo already grants that (default_workflow_permissions: write, no rulesets), so the cap is almost certainly an organization-level Actions policy. Nothing surfaced the failure, so dependabot PRs quietly accumulated to 10 (cleared in #44).

Grouping needs no workflow, no token, and no elevated permissions, so this failure mode goes away rather than needing an org settings change.

Grouping

  • python-runtime — production deps (numba, numpy, pandas, scikit-learn, tqdm)
  • python-dev — dev/docs/lint deps
  • github-actions — all actions

Runtime and dev are deliberately separate: bumps to numpy/scikit-learn/numba affect library consumers and deserve their own review, while docs and lint bumps are low-risk. It also limits blast radius — a grouped PR is all-or-nothing, so one bad bump blocks its whole group. That is not hypothetical: notebook 7.5.7 broke the docs build in #41 and would have held up every docs dependency with it. If a package gets stuck long-term, give it its own group or an ignore entry.

Expect ~3 PRs per week instead of ~10 individual ones.

Also drops the uv schedule from daily to weekly; daily PRs add little once updates are grouped.

Dependabot's grouped updates open a single combined PR per group
upstream, which is what the Combine PRs workflow was stitching back
together downstream.
That workflow had been failing every run since 2026-03-25 (20 consecutive
failures) with "Resource not accessible by integration" when creating the
combined branch -- it needs contents:write to create a ref, and an
organization-level Actions policy caps it to read. Nothing surfaced the
breakage, so dependabot PRs quietly piled up to 10.
Grouping needs no workflow, no token, and no elevated permissions, so it
removes that failure mode entirely.
Runtime and development dependencies are grouped separately: bumps to
numpy/scikit-learn/numba affect library consumers and deserve their own
review, while docs and lint bumps are low-risk. This also limits the
blast radius of a single bad bump, since a grouped PR is all-or-nothing
-- notebook 7.5.7 would otherwise have blocked every docs dependency.
Also drops the uv schedule from daily to weekly; daily PRs add little
once updates are grouped.
@xhan97
xhan97 merged commit 85928e2 into mainAug 15, 2026
19 checks passed
@xhan97
xhan97 deleted the deps/dependabot-groups branch August 15, 2026 16:02
Sign up for freeto 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

@xhan97