Skip to content

Use Renovate groups with group:monorepos and group:recommended - #6067

Merged
johnsimons merged 1 commit into
masterfrom
john/use_recommended_renovate_groups
Oct 30, 2026
Merged

johnsimons merged 1 commit into
masterfrom
john/use_recommended_renovate_groups

Conversation

@johnsimons

@johnsimons johnsimons commented Oct 30, 2026 •

Copy link
Copy Markdown
Member

With this change, Renovate opens one pull request for all packages that ship from the same source repository. The group:monorepos preset covers the four hand-written NuGet groups that this change removes from .github/renovate.json5.

We decided to give this a go, if it does not work out, we can roll it back. Otherwise, if it works well, we can consider it for wider adoption.

Why

Every push to a Renovate branch runs the full CI workflow: 34 jobs and about two hours of runner time. From 30 Sep to 30 Oct, 146 of the 487 ci.yml runs (30%) were on Renovate branches. These jobs share the organization's limit of 60 concurrent jobs with every other Particular repository, so they delay CI for pull requests that change code.

Many of these pull requests update packages that release together. Today the four Testcontainers packages get four pull requests and the three Azure SDK packages get three, and each one runs CI and needs a review and a merge.

The hand-written rules cover only the packages someone has added to them. The Aspire rule (#5993) was added on 13 Oct, after the 13.6.1 release had opened five separate pull requests (#5954 to #5958). group:monorepos has had an Aspire group since July 2024. The preset matches packages by the source repository in their NuGet metadata, and Renovate's maintainers keep the list of repositories, so a new package from a listed repository joins its group without a change here.

Effect

A Renovate dry run against master plans 23 branches with this change and 27 without it:

Packages Before After
Testcontainers.Azurite, LocalStack, MsSql, PostgreSql 4 branches renovate/testcontainers-dotnet-monorepo
Azure.Core, Azure.Storage.Blobs, Azure.Storage.Blobs.Batch 3 branches renovate/azure-azure-sdk-for-net-monorepo
OpenTelemetry exporters and hosting renovate/open-telemetry renovate/opentelemetry-dotnet-monorepo
OpenTelemetry instrumentation renovate/open-telemetry renovate/opentelemetry-dotnet-contrib-monorepo
.NET, IdentityModel, Aspire, AWS SDK one branch each one branch each, under new names

OpenTelemetry now arrives as two pull requests. The instrumentation packages ship from opentelemetry-dotnet-contrib and the other packages from opentelemetry-dotnet.

The organization config in Particular/shared-workflows still defines a .NET Packages group. Renovate applies the repository rules after the organization rules, so the dotnet monorepo group wins for packages from dotnet/dotnet and dotnet/extensions. In the dry run, renovate/dotnet-monorepo replaces renovate/dotnet-packages with the same packages.

group:recommended has no NuGet groups. The only rule in it that applies to this repository groups major updates of actions/upload-artifact and actions/download-artifact.

The version pins for Microsoft.Extensions.DependencyModel and System.Management.Automation in ServiceControl.Management.PowerShell stay as they are.

After this merges, Renovate closes the open pull requests on the old branch names and opens the grouped ones.

Instead, replace it with the default managed renovate extends.
@johnsimons johnsimons changed the title Remove specific package rules from renovate.json5 Use Renovate groups with group:monorepos and group:recommended Oct 30, 2026
@johnsimons
johnsimons marked this pull request as ready for review October 30, 2026 02:47
@johnsimons
johnsimons merged commit e933289 into master Oct 30, 2026
69 of 70 checks passed
@johnsimons
johnsimons deleted the john/use_recommended_renovate_groups branch October 30, 2026 02:52
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.

2 participants