Skip to content

Commit ac54a53

Browse files
committed
Update dependabot to use better grouping
This allows to get PRs that are easier to merge. Signed-off-by: Leandro Lucarella <[email protected]>
1 parent a49fdd3 commit ac54a53

File tree

1 file changed

+32
-22
lines changed

1 file changed

+32
-22
lines changed

.github/dependabot.yml

Lines changed: 32 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -13,40 +13,50 @@ 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"
2829
exclude-patterns:
29-
- "frequenz-client-microgrid*"
30-
optional:
31-
dependency-type: "development"
30+
# pydoclint has shipped breaking changes in patch updates often
31+
- "pydoclint"
32+
minor:
3233
update-types:
3334
- "minor"
34-
- "patch"
35-
in-devel-patch:
35+
exclude-patterns:
36+
- "async-solipsism"
37+
- "frequenz-client-microgrid"
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:
3649
patterns:
37-
- "frequenz-client-microgrid*"
38-
dependency-type: "production"
39-
update-types:
40-
- "patch"
50+
- "frequenz-repo-config*"
51+
mkdocstrings:
52+
patterns:
53+
- "mkdocstrings*"
4154
ignore:
4255
# Upgrade to time-machine 2.13.0+ breaks our tests. See:
4356
# https://github.com/frequenz-floss/frequenz-sdk-python/issues/832
4457
- dependency-name: "time-machine"
4558
versions: [">=2.13.0"]
46-
# Upgrading to 0.16.0+ needs a lot of changes in the code. See:
47-
# https://github.com/frequenz-floss/frequenz-sdk-python/issues/844
48-
- dependency-name: "frequenz-api-microgrid"
49-
versions: [">=0.16.0"]
59+
5060

5161

5262
- package-ecosystem: "github-actions"

0 commit comments

Comments
 (0)