Skip to content

Commit 5d59ec5

Browse files
mariushelfclaude
andauthored
chore: monthly Dependabot updates, grouped per ecosystem (#29)
Minor and patch updates come as one PR per ecosystem a month, which saves CI minutes. Major and security updates still get their own PRs. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
1 parent c4d1b8d commit 5d59ec5

3 files changed

Lines changed: 27 additions & 5 deletions

File tree

‎.github/dependabot.yml‎

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,28 @@
1+
# Monthly, with minor and patch updates grouped into one PR per ecosystem.
2+
# Major updates and security updates still come as their own PRs.
13
version: 2
24
updates:
35
- package-ecosystem: uv
46
directory: "/"
57
schedule:
6-
interval: weekly
8+
interval: monthly
79
# Wait a week before proposing a new release. Security updates ignore this.
810
cooldown:
911
default-days: 7
12+
groups:
13+
uv:
14+
patterns: ["*"]
15+
update-types: [minor, patch]
1016
- package-ecosystem: github-actions
1117
# "/template/.github/workflows" holds the workflows that generated projects receive.
1218
directories:
1319
- "/"
1420
- "/template/.github/workflows"
1521
schedule:
16-
interval: weekly
22+
interval: monthly
1723
cooldown:
1824
default-days: 7
25+
groups:
26+
github-actions:
27+
patterns: ["*"]
28+
update-types: [minor, patch]

‎template/.github/dependabot.yml‎

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,25 @@
1+
# Monthly, with minor and patch updates grouped into one PR per ecosystem.
2+
# Major updates and security updates still come as their own PRs.
13
version: 2
24
updates:
35
- package-ecosystem: uv
46
directory: "/"
57
schedule:
6-
interval: weekly
8+
interval: monthly
79
# Wait a week before proposing a new release. Security updates ignore this.
810
cooldown:
911
default-days: 7
12+
groups:
13+
uv:
14+
patterns: ["*"]
15+
update-types: [minor, patch]
1016
- package-ecosystem: github-actions
1117
directory: "/"
1218
schedule:
13-
interval: weekly
19+
interval: monthly
1420
cooldown:
1521
default-days: 7
22+
groups:
23+
github-actions:
24+
patterns: ["*"]
25+
update-types: [minor, patch]

‎tests/test_template.py‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -437,8 +437,10 @@ def _assert_dependabot_config(path: Path, actions_dirs=("/",)) -> None:
437437
dirs = update.get("directories") or [update["directory"]]
438438
expected = actions_dirs if update["package-ecosystem"] == "github-actions" else ("/",)
439439
assert dirs == list(expected)
440-
assert update["schedule"]["interval"] == "weekly"
440+
assert update["schedule"]["interval"] == "monthly"
441441
assert update["cooldown"]["default-days"] == 7
442+
group = update["groups"][update["package-ecosystem"]]
443+
assert group == {"patterns": ["*"], "update-types": ["minor", "patch"]}
442444

443445

444446
def test_own_dependabot_config():

0 commit comments

Comments
 (0)