Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 0 additions & 14 deletions .github/workflows/dco-merge-queue.yml

This file was deleted.

20 changes: 17 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -121,12 +121,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
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:
Expand All @@ -135,6 +142,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
Expand All @@ -153,4 +164,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!
15 changes: 8 additions & 7 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@

[build-system]
requires = [
"setuptools == 82.0.1",
"setuptools_scm[toml] == 10.2.0",
"frequenz-repo-config[lib] == 0.18.0",
"setuptools == 84.0.0",
"setuptools_scm[toml] == 10.2.1",
"frequenz-repo-config[lib] == 0.19.0",
]
build-backend = "setuptools.build_meta"

Expand Down Expand Up @@ -66,7 +66,7 @@ dev-mkdocs = [
"mkdocs-material == 9.7.6",
"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",
Expand All @@ -76,15 +76,15 @@ dev-mypy = [
# For checking the noxfile, docs/ script, and tests
"frequenz-sdk[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
"frequenz-sdk[dev-mkdocs,dev-noxfile,dev-pytest]",
]
dev-pytest = [
"pytest == 9.1.1",
"frequenz-repo-config[extra-lint-examples] == 0.18.0",
"frequenz-repo-config[extra-lint-examples] == 0.19.0",
"pytest-mock == 3.15.1",
"pytest-asyncio == 1.4.0",
"time-machine == 2.16.0",
Expand Down Expand Up @@ -167,8 +167,8 @@ disable = [
max-attributes = 12

[tool.pytest.ini_options]
addopts = "-vv"
testpaths = ["tests", "src"]
asyncio_debug = true
asyncio_mode = "auto"
asyncio_default_fixture_loop_scope = "function"
required_plugins = ["pytest-asyncio", "pytest-mock"]
Expand All @@ -193,6 +193,7 @@ filterwarnings = [
]

[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
Expand Down
Loading