chore(renovate): centralize Go toolchain version management#243
chore(renovate): centralize Go toolchain version management#243
Conversation
There was a problem hiding this comment.
Code Review
This pull request updates the Renovate configuration to include custom managers for tracking Go versions in Dagger integration tests and documentation files, while also grouping toolchain updates into a single PR. Feedback was provided to improve the regex patterns for version matching by supporting optional patch versions, ensuring the automation continues to function correctly after versions are updated to three-part strings.
Add Renovate custom managers and a grouping rule so the GoBaseImage constant in test/integration/integration.go and the minimum-version notes in README and CONTRIBUTING all bump alongside go.mod in a single PR. Signed-off-by: Michael Beemer <beeme1mr@users.noreply.github.com>
5d5e6d3 to
263716e
Compare
There was a problem hiding this comment.
Pull request overview
Adds Renovate custom regex managers and grouping rules so Go toolchain version bumps update go.mod, the GoBaseImage constant, and documented minimum Go version references together.
Changes:
- Add a regex custom manager to update
GoBaseImage = "golang:X.Y-alpine"intest/integration/integration.go. - Add a regex custom manager to update minimum Go version text in
README.mdandCONTRIBUTING.md. - Add a package rule to group
gomod+ custom managers into a single “go toolchain” Renovate PR.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Use plain glob strings in managerFilePatterns instead of /regex/ delimiters to avoid any ambiguity in pattern matching. - Allow an optional patch component in the regex captures so the managers keep matching if a future bump writes a three-part version like 1.26.0. - Switch the docs manager to the golang-version datasource with an extractVersionTemplate that keeps the rendered version at major.minor, decoupling the docs from Docker tag availability. Signed-off-by: Michael Beemer <beeme1mr@users.noreply.github.com>
Summary
go.mod, the newGoBaseImageconstant intest/integration/integration.go(introduced in #241), and the minimum-version notes inREADME.mdandCONTRIBUTING.mdall need to move together when the Go toolchain bumps. Renovate already managesgo.modand the constant once it can find them — this PR adds the missing custom managers and groups everything into one PR.GoBaseImage = "golang:X.Y-alpine"intest/integration/integration.go.Go >= X.YandGo X.Y or laterinREADME.mdandCONTRIBUTING.md.gomod, the constant manager, and the docs manager under a singlego toolchainPR.Tradeoff: a future rename of
GoBaseImage, the file holding it, or the doc strings silently stops being managed. Renovate does not warn about unmatched managers, so any restructure needs a corresponding glob/regex update.Test plan
renovate-config-validatorreports the config is valid