diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 252d54f4..1968779f 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,5 +1,20 @@ version: 2 +# Every ecosystem groups its updates into a single PR. Splitting per package +# means each ecosystem's lockfile (go.sum, package-lock.json, Cargo.lock) is +# rewritten once per PR, so merging any one of them invalidates all the rest — +# every sibling then rebases and re-runs the full ~15 minute CI matrix. The +# 2026-08-10 batch opened 17 PRs for one weekly refresh. +# +# Grouping also keeps release trains together. The OpenTelemetry modules move +# in lockstep, and npm families version-lock their own packages with exact peer +# pins (typescript-checker@9.6.0 requires core@9.6.0, not ^9.6.0), so a partial +# merge is an ERESOLVE failure waiting to happen. +# +# Majors are ignored everywhere below, so each group only ever carries patch and +# minor updates. If one member of a group is bad, add it to that ecosystem's +# ignore list rather than ungrouping the rest. + updates: # Go server dependencies - package-ecosystem: gomod @@ -13,6 +28,10 @@ updates: - dependencies - go open-pull-requests-limit: 10 + groups: + go-dependencies: + patterns: + - "*" ignore: - dependency-name: "*" update-types: ["version-update:semver-major"] @@ -29,18 +48,10 @@ updates: - dependencies - npm open-pull-requests-limit: 10 - # These families version-lock their own packages with exact peer pins - # (e.g. typescript-checker@9.6.0 requires core@9.6.0, not ^9.6.0), so a - # PR-per-package split guarantees an ERESOLVE failure whenever only some - # of them are merged. Group each family into a single PR. groups: - stryker: + npm-dependencies: patterns: - - "@stryker-mutator/*" - vitest: - patterns: - - "vitest" - - "@vitest/*" + - "*" ignore: - dependency-name: "*" update-types: ["version-update:semver-major"] @@ -57,6 +68,10 @@ updates: - dependencies - rust open-pull-requests-limit: 5 + groups: + cargo-dependencies: + patterns: + - "*" ignore: - dependency-name: "*" update-types: ["version-update:semver-major"] @@ -73,6 +88,10 @@ updates: - dependencies - ci open-pull-requests-limit: 5 + groups: + actions-dependencies: + patterns: + - "*" ignore: - dependency-name: "*" update-types: ["version-update:semver-major"]