fix: consolidate Renovate Go groups and restrict Fedora to stable#773
Conversation
Any Go dependency can bump the minimum Go version (e.g. k8s.io/api v0.36.1 requires go 1.26.0), so all Go module groups must ship together with the Go toolchain to avoid broken builds. Consolidate go-deps-other, grpc-protobuf-go, kubernetes, go-testing, golang-x, and golang-version into a single "kubernetes" group that includes all gomod updates, Go version directives, .go-version, and the go-toolset container image. Also restrict the Fedora base image to <=44 to prevent Renovate from proposing rawhide (Fedora 45), and add a versioning regex for go-toolset so only Go-version-style tags (1.x.y) are tracked instead of UBI build tags (9.8-xxx). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
📝 WalkthroughWalkthroughThis PR consolidates Go-related dependency grouping in ChangesRenovate dependency grouping reorganization
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Replace allowedVersions <=44 with followTag "latest" so Renovate automatically tracks the current stable Fedora release. The latest tag always points to the current stable release, never rawhide, so this needs no manual maintenance on each Fedora release. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
| "matchPackageNames": [ | ||
| "fedora" | ||
| ], | ||
| "followTag": "latest" |
There was a problem hiding this comment.
the problem is that fedora will always have a rawhide stream which will be picked up. it seems though, that latest always points to rawhide minus 1 (in this case f44 instead of f45) so i am just telling it to pull latest
| ], | ||
| "matchPackageNames": [ | ||
| "registry.access.redhat.com/ubi9/go-toolset" | ||
| ], |
There was a problem hiding this comment.
ubi images are a problem their versioning scheme tracks two independent problems (ubi version and go version) you can update one automatically but not both in combination
There was a problem hiding this comment.
🧹 Nitpick comments (1)
renovate.json (1)
202-213: Refine go-toolset regex and image reference
registry.access.redhat.com/ubi9/go-toolsetis the correct image reference and is used bycontroller/Dockerfileandcontroller/Dockerfile.operator(current tag:1.24.6), and matches therenovate.jsonrule.- The versioning regex
^(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)$matches 3-part numeric tags from the registry (e.g.,1.17.12,1.18.10) and excludes dash-suffixed build/revision tags (e.g.,1.17.12-12,1.18.9-2.*), preventing build-variant tags from being treated as semver updates.- This regex won’t match 2-part tags like
1.17—update behavior will depend on whether those tags should be included.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@renovate.json` around lines 202 - 213, The current renovate rule correctly targets matchPackageNames "registry.access.redhat.com/ubi9/go-toolset" (used by controller/Dockerfile and controller/Dockerfile.operator) but the versioning regex under the "versioning" key only matches three-part numeric semver and excludes dash-suffixed build tags and two-part tags; update the "versioning" value to a regex that also accepts optional dash-suffixed build/revision segments and optionally supports two-part tags (e.g., allow patterns like 1.18, 1.18.9-2) so Renovate will detect those image tag variants as updates while keeping automerge false.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@renovate.json`:
- Around line 202-213: The current renovate rule correctly targets
matchPackageNames "registry.access.redhat.com/ubi9/go-toolset" (used by
controller/Dockerfile and controller/Dockerfile.operator) but the versioning
regex under the "versioning" key only matches three-part numeric semver and
excludes dash-suffixed build tags and two-part tags; update the "versioning"
value to a regex that also accepts optional dash-suffixed build/revision
segments and optionally supports two-part tags (e.g., allow patterns like 1.18,
1.18.9-2) so Renovate will detect those image tag variants as updates while
keeping automerge false.
Summary
go-deps-other,grpc-protobuf-go,kubernetes,go-testing,golang-x,golang-version) into a singlekubernetesgroup -- any Go dependency can bump the minimum Go version (verified: k8s.io/api v0.36.1 requires go 1.26.0, grpc/gin deps require go 1.25.0), so they must ship together with the Go toolchain (.go-version, go.mod directives, go-toolset container image)<=44to prevent Renovate from proposing rawhide (Fedora 45)ubi9/go-toolsetso only Go-version-style tags (1.x.y) are tracked, not UBI/RHEL build tags (9.8-1780490420)Renovate PRs affected
Once merged, Renovate will consolidate these into one PR:
And #765 (docker-base-images) will no longer propose Fedora 45 or go-toolset UBI tags.
Test plan
validate-renovateCI job)🤖 Generated with Claude Code