Skip to content

ci: group the go modules that ship together - #6871

Merged
otavio merged 1 commit into
masterfrom
ci/group-gomod-by-project
Aug 9, 2026
Merged

ci: group the go modules that ship together#6871
otavio merged 1 commit into
masterfrom
ci/group-gomod-by-project

Conversation

@otavio

@otavio otavio commented Aug 9, 2026

Copy link
Copy Markdown
Member

group-by: dependency-name gives each dependency its own pull request across the
six Go modules, which is right for a dependency that moves on its own — and it is
why this config is not simply the one cloud uses.

It is wrong for a project shipping several modules. Those release together and pin
each other, so one pull request per module carries the same edits in each and only
the first can land. caddy was already carved out for exactly this reason; this
names the other three.

group modules grouped for
caddy (existing) caddyserver/*, caddy-dns/* all updates
testcontainers testcontainers-go + compose, postgres, redis all updates
bun uptrace/bun, uptrace/bun/dialect/pgdialect all updates
golang-x golang.org/x/crypto, exp, net, sys, time version updates only

The catch-all excludes each by hand, because a dependency matching more than one
group is not placed in the first match — the same caveat already noted on the npm
entry.

golang-x keeps applies-to: version-updates where the others drop it: those
modules are not coupled, they only tend to move together, so an x/crypto or
x/net security fix should still arrive on its own rather than waiting behind an
x/exp bump.

Verification

Resolved the patterns against the 56 direct requirements across /, /agent,
/gateway, /openapi, /server and /tests:

  • the four groups match exactly the modules in the table (5 + 4 + 2 + 5),
  • no dependency matches more than one group, and
  • the remaining 38 fall to the catch-all and keep arriving one pull request each.

No change to github-actions, docker or npm.

group-by: dependency-name gives each dependency its own pull request across the six
modules, which is what an unrelated bump deserves. It is wrong for a project shipping
several modules: those release together and pin each other, so one pull request per
module carries the same edits and only the first can land. caddy was already carved
out for exactly this.

Name the other three: testcontainers-go with its compose, postgres and redis modules,
bun with pgdialect, and the golang.org/x repositories. The catch-all excludes them by
hand, because a dependency matching more than one group is not placed in the first
match.

golang-x keeps applies-to: version-updates where the others drop it. Those modules are
not coupled, they only tend to move together, so a crypto or net security fix should
still arrive on its own.
@otavio
otavio requested a review from a team as a code owner August 9, 2026 15:17
@github-actions

github-actions Bot commented Aug 9, 2026

Copy link
Copy Markdown

Claude finished @otavio's task in 1m 8s —— View job


Code Review Complete

Reviewed 1 file (.github/dependabot.yml) across config correctness, grouping semantics, and pattern coverage — no new issues found. The code looks good as-is.

A few things I verified in the diff:

  • Pattern coverage is complete — each group pairs the bare module path with a /* variant (testcontainers-go + testcontainers-go/*, uptrace/bun + uptrace/bun/*) so both the root module and its submodules match; golang.org/x/* covers crypto/exp/net/sys/time.
  • Catch-all exclusions mirror the group patterns exactly — all four groups are excluded from go-modules, keeping every coupled dependency in its own group and matching the existing caddy/npm convention already in this file.
  • applies-to semantics are rightgolang-x stays version-updates, so an x/crypto/x/net security fix matches neither golang-x nor the version-only catch-all and lands as its own PR, while testcontainers/bun omit applies-to and group all update types. This matches the stated intent.

@otavio
otavio merged commit e3c41c2 into master Aug 9, 2026
38 checks passed
@otavio
otavio deleted the ci/group-gomod-by-project branch August 9, 2026 15:21
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