configpipelinerenovate

Renovate: Combine all updates to one branch/PR


Renovate is updating the packages as soon as there is a new version. But renovate also creates a seperate PR/branch for each update. So if new versions released for 5 of my packages renovate will create 5 branches. This leads to 5 pipelines, 1 PR is merged and the other 4 will rebase and run the pipeline again. So there will run 15 PR-pipelines + the pipeline for the main branch on each merge.
So all together there will run 19 pipelines.

Is it possible to combine – lets say all minor and patch updates – into one branch and PR to avoid the huge amount of PRs?

the only thing I found was the prConcurrentLimit which avoids the rebase and rerun of the PR-pipelines on each merge. But this will also trigger 10 pipelines.

If I can combine all together there is just 1 PR pipeline and 1 main-branch pipeline. So 2 pipelines in total. That would be awesome.


Solution

  • Yes you can group updates together, for all nonmajor updates this can look like this: (taken from the renovate docs)

    {
      "packageRules": [
        {
          "matchPackagePatterns": [
            "*"
          ],
          "matchUpdateTypes": [
            "minor",
            "patch"
          ],
          "groupName": "all non-major dependencies",
          "groupSlug": "all-minor-patch"
        }
      ]
    }