@@ -213,3 +213,27 @@ To cleanup the environment delete the container:
213213 docker rm -f gitlab-test
214214 docker rm -f gitlab-runner-test
215215
216+ Releases
217+ --------
218+
219+ A release workflow is triggered every Monday and automatically creates a new
220+ release if any commits merged to the main branch contain commit message scopes
221+ that would result in a semantic version bump.
222+
223+ Additionally, the release workflow can be run manually to publish urgent fixes,
224+ either on GitHub or using the ``gh `` CLI with ``gh workflow run release.yml ``.
225+
226+ **Note: ** As a maintainer, this means you should carefully review commit messages
227+ used by contributors in their pull requests. If scopes such as ``fix `` and ``feat ``
228+ are applied to trivial commits not relevant to end users, it's best to squash their
229+ pull requests and summarize the addition in a single conventional commit.
230+ This avoids triggering incorrect version bumps and releases without functional changes.
231+
232+ The release workflow uses `python-semantic-release
233+ <https://python-semantic-release.readthedocs.io> `_ and does the following:
234+
235+ * Bumps the version in ``__version__.py `` and adds an entry in ``CHANGELOG.md ``,
236+ * Commits and tags the changes, then pushes to the main branch as the ``github-actions `` user,
237+ * Creates a release from the tag and adds the changelog entry to the release notes,
238+ * Uploads the package as assets to the GitHub release,
239+ * Uploads the package to PyPI using ``PYPI_TOKEN `` (configured as a secret).
0 commit comments