From cec5db1b0af7fa369549eb9e9327aed55e97be93 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Sep 2026 12:54:45 +0000 Subject: [PATCH 1/2] Bump frequenz-repo-config from 0.18.0 to 0.19.0 in the repo-config group Bumps the repo-config group with 1 update: [frequenz-repo-config](https://github.com/frequenz-floss/frequenz-repo-config-python). Updates `frequenz-repo-config` from 0.18.0 to 0.19.0 - [Release notes](https://github.com/frequenz-floss/frequenz-repo-config-python/releases) - [Changelog](https://github.com/frequenz-floss/frequenz-repo-config-python/blob/v0.x.x/RELEASE_NOTES.md) - [Commits](https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.18.0...v0.19.0) --- updated-dependencies: - dependency-name: frequenz-repo-config dependency-version: 0.19.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: repo-config ... Signed-off-by: dependabot[bot] --- pyproject.toml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 482ece95..b0d1971d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,7 +5,7 @@ requires = [ "setuptools == 83.0.0", "setuptools_scm[toml] == 10.2.1", - "frequenz-repo-config[lib] == 0.18.0", + "frequenz-repo-config[lib] == 0.19.0", ] build-backend = "setuptools.build_meta" @@ -57,7 +57,7 @@ dev-mkdocs = [ "mkdocs-material == 9.7.7", "mkdocstrings[python] == 1.0.6", "mkdocstrings-python == 2.0.5", - "frequenz-repo-config[lib] == 0.18.0", + "frequenz-repo-config[lib] == 0.19.0", ] dev-mypy = [ "mypy == 2.3.0", @@ -66,7 +66,7 @@ dev-mypy = [ # For checking the noxfile, docs/ script, and tests "frequenz-client-common[dev-mkdocs,dev-noxfile,dev-pytest]", ] -dev-noxfile = ["nox == 2026.7.11", "frequenz-repo-config[lib] == 0.18.0"] +dev-noxfile = ["nox == 2026.7.11", "frequenz-repo-config[lib] == 0.19.0"] dev-pylint = [ "pylint == 4.0.6", # For checking the noxfile, docs/ script, and tests @@ -74,7 +74,7 @@ dev-pylint = [ ] dev-pytest = [ "pytest == 9.1.1", - "frequenz-repo-config[extra-lint-examples] == 0.18.0", + "frequenz-repo-config[extra-lint-examples] == 0.19.0", "hypothesis == 6.165.2", "pytest-mock == 3.15.1", "pytest-asyncio == 1.4.0", From 789546c839329524678483f1c8d0244506715ddc Mon Sep 17 00:00:00 2001 From: "frequenz-auto-dependabot[bot]" <261417025+frequenz-auto-dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Sep 2026 12:55:21 +0000 Subject: [PATCH 2/2] Apply migration from 0.18.0 to 0.19.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit === v0.19.0 ========================================================= Script URL: https://raw.githubusercontent.com/frequenz-floss/frequenz-repo-config-python/v0.19.0/cookiecutter/migrate.py ======================================================================== Enabling exhaustive match checks for mypy... Updated pyproject.toml: enabled exhaustive-match ======================================================================== ======================================================================== Removing default `-vv` from pytest addopts... Skipped pyproject.toml: no addopts in [tool.pytest.ini_options], nothing to remove ======================================================================== Removing the dummy DCO merge-queue workflow... Skipped .github/workflows/dco-merge-queue.yml: file not found ======================================================================== Pinning the DCO check in the 'Protect version branches' ruleset... Ruleset 'Protect version branches' is already up to date ======================================================================== ======================================================================== Updating pinned build dependencies... Updated pyproject.toml: bumped setuptools to 84.0.0 ======================================================================== ======================================================================== Enabling asyncio debug mode for pytest... Updated pyproject.toml: enabled asyncio debug mode under [tool.pytest.ini_options] ======================================================================== ======================================================================== Updating the release instructions in CONTRIBUTING.md... Updated CONTRIBUTING.md: refreshed the release instructions ======================================================================== ✅ Migration script finished successfully ✅ The migration completed successfully. Applied-by: frequenz-floss/gh-action-dependabot-migrate --- CONTRIBUTING.md | 20 +++++++++++++++++--- pyproject.toml | 4 +++- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 35bfdee8..102d7e21 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -53,7 +53,7 @@ Or you can use `nox`: nox -R -s pytest -- tests/test_*.py ``` -The same appliest to `pylint` or `mypy` for example: +The same applies to `pylint` or `mypy` for example: ```sh nox -R -s pylint -- tests/test_*.py @@ -127,12 +127,19 @@ These are the steps to create a new release: 1. Get the latest head you want to create a release from. + If you use milestones, check that the milestone for this release has no open + issues left, and move whatever won't make it to a later milestone. + 2. Update the `RELEASE_NOTES.md` file if it is not complete, up to date, and - remove template comments (``) and empty sections. Submit a pull request if an update is needed, wait until it is merged, and update the latest head you want to create a release from to get the new merged pull request. + This can't be left for later: the notes published with the release are read + from the `RELEASE_NOTES.md` committed at the tagged commit, not from the tag + message. + 3. Create a new signed tag using the release notes and a [semver](https://semver.org/) compatible version number with a `v` prefix, for example: @@ -141,6 +148,10 @@ These are the steps to create a new release: git tag -s --cleanup=whitespace -F RELEASE_NOTES.md v0.0.1 ``` + The signature is not optional: the *Protect released tags* ruleset rejects + unsigned tags. It also forbids updating or deleting a released tag, so make + sure you are tagging the commit you want. + 4. Push the new tag. 5. A GitHub action will test the tag and if all goes well it will create @@ -159,4 +170,7 @@ These are the steps to create a new release: Commit the new release notes and create a PR (this step should be automated eventually too). -7. Celebrate! +7. If you use milestones, close the milestone for this release, and create the + next one if it doesn't exist yet. + +8. Celebrate! diff --git a/pyproject.toml b/pyproject.toml index b0d1971d..5a63e974 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,7 +3,7 @@ [build-system] requires = [ - "setuptools == 83.0.0", + "setuptools == 84.0.0", "setuptools_scm[toml] == 10.2.1", "frequenz-repo-config[lib] == 0.19.0", ] @@ -164,11 +164,13 @@ filterwarnings = [ 'ignore:Protobuf gencode version .*exactly one major version older.*:UserWarning', ] testpaths = ["tests", "src"] +asyncio_debug = true asyncio_mode = "auto" asyncio_default_fixture_loop_scope = "function" required_plugins = ["pytest-asyncio", "pytest-mock"] [tool.mypy] +enable_error_code = ["exhaustive-match"] explicit_package_bases = true namespace_packages = true # This option disables mypy cache, and it is sometimes useful to enable it if