Skip to content

Commit 13ff74d

Browse files
authored
Prepare for the v0.15.0 release (#530)
Improve release notes summary and update the version number in the release notes and cookiecutter templates.
2 parents 06b21cc + 3e99576 commit 13ff74d

7 files changed

Lines changed: 26 additions & 29 deletions

File tree

RELEASE_NOTES.md

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,7 @@
22

33
## Summary
44

5-
This release migrates lightweight GitHub Actions workflow jobs to use the new cost-effective `ubuntu-slim` runner.
6-
It also updates cookiecutter pyproject license metadata to SPDX expressions to avoid setuptools deprecation warnings.
7-
The auto-dependabot workflow now uses a GitHub App installation token instead of `GITHUB_TOKEN` to fix merge queue and auto-merge failures.
8-
Finally, it adds an automated repo-config migration workflow that runs migration scripts on Dependabot PRs.
5+
This release reduces CI cost by moving lightweight GitHub Actions jobs to the new `ubuntu-slim` runner, fixes Dependabot auto-merge/merge-queue issues by switching to a GitHub App installation token, and introduces an automated repo-config migration workflow (including updating existing repos' version-branch protection defaults).
96

107
## Upgrading
118

@@ -16,7 +13,7 @@ Finally, it adds an automated repo-config migration workflow that runs migration
1613
All upgrading should be done via the migration script or regenerating the templates.
1714

1815
```bash
19-
curl -sSL https://raw.githubusercontent.com/frequenz-floss/frequenz-repo-config-python/v0.14.0/cookiecutter/migrate.py | python3
16+
curl -sSL https://raw.githubusercontent.com/frequenz-floss/frequenz-repo-config-python/v0.15.0/cookiecutter/migrate.py | python3
2017
```
2118

2219
But you might still need to adapt your code:

cookiecutter/{{cookiecutter.github_repo_name}}/pyproject.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
requires = [
66
"setuptools == 80.9.0",
77
"setuptools_scm[toml] == 8.1.0",
8-
"frequenz-repo-config[{{cookiecutter.type}}] == 0.14.0",
8+
"frequenz-repo-config[{{cookiecutter.type}}] == 0.15.0",
99
{%- if cookiecutter.type == "api" %}
1010
# We need to pin the protobuf, grpcio and grpcio-tools dependencies to make
1111
# sure the code is generated using the minimum supported versions, as older
@@ -104,7 +104,7 @@ dev-mkdocs = [
104104
"mkdocs-material == 9.6.18",
105105
"mkdocstrings[python] == 1.0.0",
106106
"mkdocstrings-python == 2.0.1",
107-
"frequenz-repo-config[{{cookiecutter.type}}] == 0.14.0",
107+
"frequenz-repo-config[{{cookiecutter.type}}] == 0.15.0",
108108
]
109109
dev-mypy = [
110110
"mypy == 1.9.0",
@@ -117,7 +117,7 @@ dev-mypy = [
117117
]
118118
dev-noxfile = [
119119
"nox == 2025.5.1",
120-
"frequenz-repo-config[{{cookiecutter.type}}] == 0.14.0",
120+
"frequenz-repo-config[{{cookiecutter.type}}] == 0.15.0",
121121
]
122122
dev-pylint = [
123123
# dev-pytest already defines a dependency to pylint because of the examples
@@ -127,7 +127,7 @@ dev-pylint = [
127127
dev-pytest = [
128128
"pytest == 8.4.1",
129129
"pylint == 3.3.8", # We need this to check for the examples
130-
"frequenz-repo-config[extra-lint-examples] == 0.14.0",
130+
"frequenz-repo-config[extra-lint-examples] == 0.15.0",
131131
{%- if cookiecutter.type != "api" %}
132132
"pytest-mock == 3.14.0",
133133
"pytest-asyncio == 1.1.0",

tests_golden/integration/test_cookiecutter_generation/actor/frequenz-actor-test/pyproject.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
requires = [
66
"setuptools == 80.9.0",
77
"setuptools_scm[toml] == 8.1.0",
8-
"frequenz-repo-config[actor] == 0.14.0",
8+
"frequenz-repo-config[actor] == 0.15.0",
99
]
1010
build-backend = "setuptools.build_meta"
1111

@@ -61,7 +61,7 @@ dev-mkdocs = [
6161
"mkdocs-material == 9.6.18",
6262
"mkdocstrings[python] == 1.0.0",
6363
"mkdocstrings-python == 2.0.1",
64-
"frequenz-repo-config[actor] == 0.14.0",
64+
"frequenz-repo-config[actor] == 0.15.0",
6565
]
6666
dev-mypy = [
6767
"mypy == 1.9.0",
@@ -71,7 +71,7 @@ dev-mypy = [
7171
]
7272
dev-noxfile = [
7373
"nox == 2025.5.1",
74-
"frequenz-repo-config[actor] == 0.14.0",
74+
"frequenz-repo-config[actor] == 0.15.0",
7575
]
7676
dev-pylint = [
7777
# dev-pytest already defines a dependency to pylint because of the examples
@@ -81,7 +81,7 @@ dev-pylint = [
8181
dev-pytest = [
8282
"pytest == 8.4.1",
8383
"pylint == 3.3.8", # We need this to check for the examples
84-
"frequenz-repo-config[extra-lint-examples] == 0.14.0",
84+
"frequenz-repo-config[extra-lint-examples] == 0.15.0",
8585
"pytest-mock == 3.14.0",
8686
"pytest-asyncio == 1.1.0",
8787
"async-solipsism == 0.8",

tests_golden/integration/test_cookiecutter_generation/api/frequenz-api-test/pyproject.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
requires = [
66
"setuptools == 80.9.0",
77
"setuptools_scm[toml] == 8.1.0",
8-
"frequenz-repo-config[api] == 0.14.0",
8+
"frequenz-repo-config[api] == 0.15.0",
99
# We need to pin the protobuf, grpcio and grpcio-tools dependencies to make
1010
# sure the code is generated using the minimum supported versions, as older
1111
# versions can't work with code that was generated with newer versions.
@@ -72,7 +72,7 @@ dev-mkdocs = [
7272
"mkdocs-material == 9.6.18",
7373
"mkdocstrings[python] == 1.0.0",
7474
"mkdocstrings-python == 2.0.1",
75-
"frequenz-repo-config[api] == 0.14.0",
75+
"frequenz-repo-config[api] == 0.15.0",
7676
]
7777
dev-mypy = [
7878
"mypy == 1.9.0",
@@ -83,7 +83,7 @@ dev-mypy = [
8383
]
8484
dev-noxfile = [
8585
"nox == 2025.5.1",
86-
"frequenz-repo-config[api] == 0.14.0",
86+
"frequenz-repo-config[api] == 0.15.0",
8787
]
8888
dev-pylint = [
8989
# dev-pytest already defines a dependency to pylint because of the examples
@@ -93,7 +93,7 @@ dev-pylint = [
9393
dev-pytest = [
9494
"pytest == 8.4.1",
9595
"pylint == 3.3.8", # We need this to check for the examples
96-
"frequenz-repo-config[extra-lint-examples] == 0.14.0",
96+
"frequenz-repo-config[extra-lint-examples] == 0.15.0",
9797
]
9898
dev = [
9999
"frequenz-api-test[dev-mkdocs,dev-flake8,dev-formatting,dev-mkdocs,dev-mypy,dev-noxfile,dev-pylint,dev-pytest]",

tests_golden/integration/test_cookiecutter_generation/app/frequenz-app-test/pyproject.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
requires = [
66
"setuptools == 80.9.0",
77
"setuptools_scm[toml] == 8.1.0",
8-
"frequenz-repo-config[app] == 0.14.0",
8+
"frequenz-repo-config[app] == 0.15.0",
99
]
1010
build-backend = "setuptools.build_meta"
1111

@@ -60,7 +60,7 @@ dev-mkdocs = [
6060
"mkdocs-material == 9.6.18",
6161
"mkdocstrings[python] == 1.0.0",
6262
"mkdocstrings-python == 2.0.1",
63-
"frequenz-repo-config[app] == 0.14.0",
63+
"frequenz-repo-config[app] == 0.15.0",
6464
]
6565
dev-mypy = [
6666
"mypy == 1.9.0",
@@ -70,7 +70,7 @@ dev-mypy = [
7070
]
7171
dev-noxfile = [
7272
"nox == 2025.5.1",
73-
"frequenz-repo-config[app] == 0.14.0",
73+
"frequenz-repo-config[app] == 0.15.0",
7474
]
7575
dev-pylint = [
7676
# dev-pytest already defines a dependency to pylint because of the examples
@@ -80,7 +80,7 @@ dev-pylint = [
8080
dev-pytest = [
8181
"pytest == 8.4.1",
8282
"pylint == 3.3.8", # We need this to check for the examples
83-
"frequenz-repo-config[extra-lint-examples] == 0.14.0",
83+
"frequenz-repo-config[extra-lint-examples] == 0.15.0",
8484
"pytest-mock == 3.14.0",
8585
"pytest-asyncio == 1.1.0",
8686
"async-solipsism == 0.8",

tests_golden/integration/test_cookiecutter_generation/lib/frequenz-test-python/pyproject.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
requires = [
66
"setuptools == 80.9.0",
77
"setuptools_scm[toml] == 8.1.0",
8-
"frequenz-repo-config[lib] == 0.14.0",
8+
"frequenz-repo-config[lib] == 0.15.0",
99
]
1010
build-backend = "setuptools.build_meta"
1111

@@ -57,7 +57,7 @@ dev-mkdocs = [
5757
"mkdocs-material == 9.6.18",
5858
"mkdocstrings[python] == 1.0.0",
5959
"mkdocstrings-python == 2.0.1",
60-
"frequenz-repo-config[lib] == 0.14.0",
60+
"frequenz-repo-config[lib] == 0.15.0",
6161
]
6262
dev-mypy = [
6363
"mypy == 1.9.0",
@@ -67,7 +67,7 @@ dev-mypy = [
6767
]
6868
dev-noxfile = [
6969
"nox == 2025.5.1",
70-
"frequenz-repo-config[lib] == 0.14.0",
70+
"frequenz-repo-config[lib] == 0.15.0",
7171
]
7272
dev-pylint = [
7373
# dev-pytest already defines a dependency to pylint because of the examples
@@ -77,7 +77,7 @@ dev-pylint = [
7777
dev-pytest = [
7878
"pytest == 8.4.1",
7979
"pylint == 3.3.8", # We need this to check for the examples
80-
"frequenz-repo-config[extra-lint-examples] == 0.14.0",
80+
"frequenz-repo-config[extra-lint-examples] == 0.15.0",
8181
"pytest-mock == 3.14.0",
8282
"pytest-asyncio == 1.1.0",
8383
"async-solipsism == 0.8",

tests_golden/integration/test_cookiecutter_generation/model/frequenz-model-test/pyproject.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
requires = [
66
"setuptools == 80.9.0",
77
"setuptools_scm[toml] == 8.1.0",
8-
"frequenz-repo-config[model] == 0.14.0",
8+
"frequenz-repo-config[model] == 0.15.0",
99
]
1010
build-backend = "setuptools.build_meta"
1111

@@ -61,7 +61,7 @@ dev-mkdocs = [
6161
"mkdocs-material == 9.6.18",
6262
"mkdocstrings[python] == 1.0.0",
6363
"mkdocstrings-python == 2.0.1",
64-
"frequenz-repo-config[model] == 0.14.0",
64+
"frequenz-repo-config[model] == 0.15.0",
6565
]
6666
dev-mypy = [
6767
"mypy == 1.9.0",
@@ -71,7 +71,7 @@ dev-mypy = [
7171
]
7272
dev-noxfile = [
7373
"nox == 2025.5.1",
74-
"frequenz-repo-config[model] == 0.14.0",
74+
"frequenz-repo-config[model] == 0.15.0",
7575
]
7676
dev-pylint = [
7777
# dev-pytest already defines a dependency to pylint because of the examples
@@ -81,7 +81,7 @@ dev-pylint = [
8181
dev-pytest = [
8282
"pytest == 8.4.1",
8383
"pylint == 3.3.8", # We need this to check for the examples
84-
"frequenz-repo-config[extra-lint-examples] == 0.14.0",
84+
"frequenz-repo-config[extra-lint-examples] == 0.15.0",
8585
"pytest-mock == 3.14.0",
8686
"pytest-asyncio == 1.1.0",
8787
"async-solipsism == 0.8",

0 commit comments

Comments
 (0)