Aligns Go version handling with the two distinct go.mod directives:
- The `go` directive is the minimum language version. Renovate leaves `depType: golang` disabled by default, so the rule that bumped it is removed and it no longer churns.
- The `toolchain` directive pins the exact build version. Renovate proposes `toolchain` updates by default, and a new rule fast-tracks them (`at any time`, no min-age).
Effect per consumer repo:
- With a `toolchain` directive: bumped to the latest Go patch immediately.
- With only a `go` directive: left untouched. Regular module updates still flow under the "Go dependencies" group, and `gomodTidy` raises the `go` directive only when an updated dependency requires it, so builds never break.
Mirrors the same change in gitea/gitea: https://github.com/go-gitea/gitea/pull/37846
---
This PR was written with the help of Claude Opus 4.7.
Reviewed-on: https://gitea.com/gitea/renovate-config/pulls/547
Reviewed-by: techknowlogick <9+techknowlogick@noreply.gitea.com>
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: silverwind <me@silverwind.io>
Co-committed-by: silverwind <me@silverwind.io>
Renovate by default doesn't group dependencies. This is to achieve fine-grained changes. However, it can also be the root cause for maintainers getting flooded with notifications.
With regards to Renovate [noise reduction](https://docs.renovatebot.com/noise-reduction/) and related to #93, one of the most powerful ways is grouping related dependencies into a single Pull Request.
This introduces the following reusable presets:
- Golang dependencies
- NPM dependencies
- Workflow/Actions dependencies
- Security fixes (depends on an experimental feature: https://github.com/renovatebot/renovate/discussions/20542)
Combining those presets with proper Pull Request scheduling, they can help finding a good workflow to keep up-to-date.
---
A heads-up about possible downsides of dependency grouping. If a group contains an update that is not possible, one has to either:
- manually adjust the Pull Request to not include that package update
- manually adjust the repository `renovate.json5` to ignore a specific package version
Reviewed-on: https://gitea.com/gitea/renovate-config/pulls/97
Reviewed-by: Jason Song <i@wolfogre.com>
Co-authored-by: justusbunsi <sk.bunsenbrenner@gmail.com>
Co-committed-by: justusbunsi <sk.bunsenbrenner@gmail.com>