github

Tame Dependabot: Group your updates, slow the cadence, keep security fast (opens in new tab)

Dependabot can generate unnecessary noise when it opens a separate pull request for every dependency update, especially on active repositories. Using dependency groups, a slower schedule, and coverage for all relevant ecosystems turns that stream into predictable maintenance batches. The recommended approach preserves the speed of security updates while reducing routine review and CI overhead.

The Problem: Frequent, Un grouped Updates

  • Microsoft’s GCToolkit had 92 Dependabot commits out of 578—about one in six—with 61 arriving in the previous year.
  • Its original configuration:
    • Checked GitHub Actions dependencies daily.
    • Opened a separate pull request for every dependency.
    • Limited open Dependabot pull requests to 10.
  • The pull-request limit capped the visible backlog but did not reduce the underlying noise.

Grouping Dependencies into Batches

  • Dependabot’s groups configuration combines multiple updates into one pull request.
  • A wildcard pattern such as "*" includes all dependencies in that ecosystem.
  • Instead of 10 pull requests and 10 CI runs, maintainers receive one reviewable batch.
  • Larger projects can define separate groups for categories such as testing and production dependencies.
  • In monorepos, Dependabot can group the same dependency across multiple directories using directories and group-by: dependency-name.

Moving from Daily to Monthly Updates

  • Changing schedule.interval from daily to monthly creates a predictable maintenance cycle.
  • Combined with grouping, this produces one batch per ecosystem each month rather than a continuous stream.
  • weekly is an alternative for projects needing a faster cadence.
  • Specific days and times can be configured with schedule.day and schedule.time.

Covering All Dependency Ecosystems

  • The original configuration monitored only GitHub Actions.
  • The revised configuration also monitors Maven, which is essential for a Java project like GCToolkit.
  • Each ecosystem receives its own schedule and grouped pull request, keeping Actions and Maven updates separate and manageable.

Keeping Security Updates Fast

  • The grouping and scheduling changes primarily affect routine version updates, not Dependabot security fixes.
  • Maintainers can therefore slow ordinary dependency maintenance without delaying urgent vulnerability patches.

A practical configuration is to group all routine updates by ecosystem, run them monthly—or weekly when appropriate—and explicitly configure every package ecosystem used by the repository. This reduces maintenance noise while keeping security response timely.