From c95cddca26c49f750cf467f34644539804e4187d Mon Sep 17 00:00:00 2001 From: Robin Krahl Date: Wed, 22 Jan 2025 15:13:37 +0100 Subject: [PATCH] Document release process in readme --- README.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/README.md b/README.md index b5ee768..3642e81 100644 --- a/README.md +++ b/README.md @@ -95,6 +95,21 @@ These make targets can be used to invoke poetry for the most common tasks: For more information, see poetry’s documentation on [Managing depencies](https://python-poetry.org/docs/managing-dependencies/) and [Commands](https://python-poetry.org/docs/cli/). +### Publishing Releases + +Releases are published using Github Actions. +To create a new release: +1. Update the `version` field in `pyproject.toml` manually or using `poetry version`. +2. Update the changelog for the release. +3. Run `make update-version` to update the RPM package version. +4. Commit these changes, create a PR and merge into `main`. +5. Create a signed tag with the version number and a `v` prefix, for example `v0.2.4`, and push it to this repository. +6. [Create a new release](https://github.com/Nitrokey/nitrokey-sdk-py/releases/new) for this tag and copy the relevant parts from the changelog to the release description. +7. Wait for the deployment action to run and approve the deployment to [PyPI](https://pypi.org/p/nitrokey). + +All commits to `main` are automatically deployed to [TestPyPI](https://test.pypi.org/p/nitrokey). +It is also possible to publish release candidates (pre-releases) with a suffix like `-rc.1`. + ## License This software is fully open source.