@@ -13,23 +13,44 @@ updates:
1313    versioning-strategy : auto 
1414    #  Allow up to 10 open pull requests for updates to dependency versions
1515    open-pull-requests-limit : 10 
16-     #  We group production and development ("optional" in the context of
17-     #  pyproject.toml) dependency updates when they are patch and minor updates,
18-     #  so we end up with less PRs being generated.
19-     #  Major updates are still managed, but they'll create one PR per
20-     #  dependency, as major updates are expected to be breaking, it is better to
21-     #  manage them individually.
16+     #  We group patch updates as they should always work.
17+     #  We also group minor updates, as it works too for most libraries,
18+     #  typically except libraries that don't have a stable release yet (v0.x.x
19+     #  branch), so we make some exceptions for them.
20+     #  Major updates and dependencies excluded by the above groups are still
21+     #  managed, but they'll create one PR per dependency, as breakage is
22+     #  expected, so it might need manual intervention.
23+     #  Finally, we group some dependencies that are related to each other, and
24+     #  usually need to be updated together.
2225    groups :
23-       required :
24-         dependency-type : " production" 
26+       patch :
2527        update-types :
26-           - " minor" 
2728          - " patch" 
28-       optional :
29-         dependency-type : " development" 
29+         exclude-patterns :
30+           #  pydoclint has shipped breaking changes in patch updates often
31+           - " pydoclint" 
32+       minor :
3033        update-types :
3134          - " minor" 
32-           - " patch" 
35+         exclude-patterns :
36+           - " async-solipsism" 
37+           - " frequenz-client-dispatch" 
38+           - " frequenz-repo-config*" 
39+           - " markdown-callouts" 
40+           - " mkdocs-gen-files" 
41+           - " mkdocs-literate-nav" 
42+           - " mkdocstrings*" 
43+           - " pydoclint" 
44+           - " pytest-asyncio" 
45+       #  We group repo-config updates as it uses optional dependencies that are
46+       #  considered different dependencies otherwise, and will create one PR for
47+       #  each if we don't group them.
48+       repo-config :
49+         patterns :
50+           - " frequenz-repo-config*" 
51+       mkdocstrings :
52+         patterns :
53+           - " mkdocstrings*" 
3354
3455  - package-ecosystem : " github-actions" 
3556    directory : " /" 
0 commit comments