Skip to content

Commit 3043462

Browse files
authored
Group dependabot updates (#126)
We group production and development ("optional" in the context of `pyproject.toml`) dependency updates when they are patch and minor updates,so we end up with less PRs being generated. Major updates are still managed, but they'll create one PR per dependency, as major updates are expected to be breaking, it is better to manage them individually. Also change dependabot frequency to weekly, as security updates are handled separately, there is no urgency for having other updates so often.
2 parents 937b10f + e134db0 commit 3043462

File tree

9 files changed

+138
-23
lines changed

9 files changed

+138
-23
lines changed

.github/dependabot.yml

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ updates:
33
- package-ecosystem: "pip"
44
directory: "/"
55
schedule:
6-
interval: "daily"
6+
interval: "weekly"
77
time: "07:00"
88
labels:
99
- "part:tooling"
@@ -13,11 +13,28 @@ 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+
# Group production and development (required and 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.
22+
grups:
23+
required:
24+
dependency-type: "production"
25+
update-types:
26+
- "minor"
27+
- "patch"
28+
optional:
29+
dependency-type: "development"
30+
update-types:
31+
- "minor"
32+
- "patch"
1633

1734
- package-ecosystem: "github-actions"
1835
directory: "/"
1936
schedule:
20-
interval: "daily"
37+
interval: "weekly"
2138
time: "06:00"
2239
labels:
2340
- "part:tooling"

RELEASE_NOTES.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
### Cookiecutter template
2020

21-
<!-- Here new features for cookiecutter specifically -->
21+
- Now dependabot updates will be done weekly and grouped by *required* and *optional* for minor and patch updates (major updates are still done individually for each dependency).
2222

2323
## Bug Fixes
2424

cookiecutter/{{cookiecutter.github_repo_name}}/.github/dependabot.yml

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ updates:
33
- package-ecosystem: "pip"
44
directory: "/"
55
schedule:
6-
interval: "daily"
6+
interval: "weekly"
77
time: "07:00"
88
labels:
99
- "part:tooling"
@@ -13,11 +13,28 @@ 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.
22+
grups:
23+
required:
24+
dependency-type: "production"
25+
update-types:
26+
- "minor"
27+
- "patch"
28+
optional:
29+
dependency-type: "development"
30+
update-types:
31+
- "minor"
32+
- "patch"
1633

1734
- package-ecosystem: "github-actions"
1835
directory: "/"
1936
schedule:
20-
interval: "daily"
37+
interval: "weekly"
2138
time: "06:00"
2239
labels:
2340
- "part:tooling"
@@ -35,10 +52,8 @@ updates:
3552
# + `allow` one doesn't seem to work.
3653
ignore:
3754
- dependency-name: "submodules/frequenz-api-common"
38-
# The google api common repo changes very seldom, so there is no need to
39-
# check very often.
4055
schedule:
41-
interval: "monthly"
56+
interval: "weekly"
4257
time: "06:00"
4358
labels:
4459
- "part:tooling"

src/frequenz/repo/config/nox/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@
3333
nox.configure(config)
3434
```
3535
36-
If you need further customization or to define new sessions, you can use the following
37-
modules:
36+
If you need further customization or to define new sessions, you can use the
37+
following modules:
3838
3939
- [`frequenz.repo.config.nox.config`][]: Low-level utilities to configure nox sessions.
4040
It defines the `Config` and CommandsOptions` classes and the actual implementation of

tests_golden/integration/test_cookiecutter_generation/actor/frequenz-actor-test/.github/dependabot.yml

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ updates:
33
- package-ecosystem: "pip"
44
directory: "/"
55
schedule:
6-
interval: "daily"
6+
interval: "weekly"
77
time: "07:00"
88
labels:
99
- "part:tooling"
@@ -13,11 +13,28 @@ 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.
22+
grups:
23+
required:
24+
dependency-type: "production"
25+
update-types:
26+
- "minor"
27+
- "patch"
28+
optional:
29+
dependency-type: "development"
30+
update-types:
31+
- "minor"
32+
- "patch"
1633

1734
- package-ecosystem: "github-actions"
1835
directory: "/"
1936
schedule:
20-
interval: "daily"
37+
interval: "weekly"
2138
time: "06:00"
2239
labels:
2340
- "part:tooling"

tests_golden/integration/test_cookiecutter_generation/api/frequenz-api-test/.github/dependabot.yml

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ updates:
33
- package-ecosystem: "pip"
44
directory: "/"
55
schedule:
6-
interval: "daily"
6+
interval: "weekly"
77
time: "07:00"
88
labels:
99
- "part:tooling"
@@ -13,11 +13,28 @@ 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.
22+
grups:
23+
required:
24+
dependency-type: "production"
25+
update-types:
26+
- "minor"
27+
- "patch"
28+
optional:
29+
dependency-type: "development"
30+
update-types:
31+
- "minor"
32+
- "patch"
1633

1734
- package-ecosystem: "github-actions"
1835
directory: "/"
1936
schedule:
20-
interval: "daily"
37+
interval: "weekly"
2138
time: "06:00"
2239
labels:
2340
- "part:tooling"
@@ -34,10 +51,8 @@ updates:
3451
# + `allow` one doesn't seem to work.
3552
ignore:
3653
- dependency-name: "submodules/frequenz-api-common"
37-
# The google api common repo changes very seldom, so there is no need to
38-
# check very often.
3954
schedule:
40-
interval: "monthly"
55+
interval: "weekly"
4156
time: "06:00"
4257
labels:
4358
- "part:tooling"

tests_golden/integration/test_cookiecutter_generation/app/frequenz-app-test/.github/dependabot.yml

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ updates:
33
- package-ecosystem: "pip"
44
directory: "/"
55
schedule:
6-
interval: "daily"
6+
interval: "weekly"
77
time: "07:00"
88
labels:
99
- "part:tooling"
@@ -13,11 +13,28 @@ 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.
22+
grups:
23+
required:
24+
dependency-type: "production"
25+
update-types:
26+
- "minor"
27+
- "patch"
28+
optional:
29+
dependency-type: "development"
30+
update-types:
31+
- "minor"
32+
- "patch"
1633

1734
- package-ecosystem: "github-actions"
1835
directory: "/"
1936
schedule:
20-
interval: "daily"
37+
interval: "weekly"
2138
time: "06:00"
2239
labels:
2340
- "part:tooling"

tests_golden/integration/test_cookiecutter_generation/lib/frequenz-test-python/.github/dependabot.yml

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ updates:
33
- package-ecosystem: "pip"
44
directory: "/"
55
schedule:
6-
interval: "daily"
6+
interval: "weekly"
77
time: "07:00"
88
labels:
99
- "part:tooling"
@@ -13,11 +13,28 @@ 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.
22+
grups:
23+
required:
24+
dependency-type: "production"
25+
update-types:
26+
- "minor"
27+
- "patch"
28+
optional:
29+
dependency-type: "development"
30+
update-types:
31+
- "minor"
32+
- "patch"
1633

1734
- package-ecosystem: "github-actions"
1835
directory: "/"
1936
schedule:
20-
interval: "daily"
37+
interval: "weekly"
2138
time: "06:00"
2239
labels:
2340
- "part:tooling"

tests_golden/integration/test_cookiecutter_generation/model/frequenz-model-test/.github/dependabot.yml

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ updates:
33
- package-ecosystem: "pip"
44
directory: "/"
55
schedule:
6-
interval: "daily"
6+
interval: "weekly"
77
time: "07:00"
88
labels:
99
- "part:tooling"
@@ -13,11 +13,28 @@ 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.
22+
grups:
23+
required:
24+
dependency-type: "production"
25+
update-types:
26+
- "minor"
27+
- "patch"
28+
optional:
29+
dependency-type: "development"
30+
update-types:
31+
- "minor"
32+
- "patch"
1633

1734
- package-ecosystem: "github-actions"
1835
directory: "/"
1936
schedule:
20-
interval: "daily"
37+
interval: "weekly"
2138
time: "06:00"
2239
labels:
2340
- "part:tooling"

0 commit comments

Comments
 (0)