From 82f56918c614fa86320d1b45bff74d171dcab9fd Mon Sep 17 00:00:00 2001 From: Evan Sosenko Date: Thu, 18 Apr 2024 00:15:29 -0700 Subject: [PATCH] Add section on automatic publishing --- README.rst | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/README.rst b/README.rst index b79afb4..f8de448 100644 --- a/README.rst +++ b/README.rst @@ -28,7 +28,7 @@ Features - Uncompromising code formatting with Black_. - pytest_ helps you write better programs. - Code coverage reporting with Codecov_. -- Fully automated version management and package publishing with semantic-release_. +- Fully automated version management and package publishing with semantic-release__. - Continuous checks and tests with `GitHub Actions`__. - `Keep a CHANGELOG`_. - Consistent coding with EditorConfig_. @@ -43,9 +43,9 @@ Features .. _PyPI: https://pypi.python.org/pypi .. _Pylint: https://www.pylint.org/ .. _Shields.io: https://shields.io/ +.. __: https://semantic-release.gitbook.io/semantic-release/ .. __: https://github.com/features/actions .. _pytest: https://docs.pytest.org/ -.. _semantic-release: https://semantic-release.gitbook.io/semantic-release/ Bootstrapping a New Project ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -215,14 +215,32 @@ Run tests on changes with Publishing ~~~~~~~~~~ -Use the `poetry version`_ command to release a new version. -Then run `make version` to commit and push a new git tag -which will trigger a GitHub action. +New versions are created with `poetry version`_. -Publishing may be triggered using a `workflow_dispatch on GitHub Actions`_. +Automatic +^^^^^^^^^ + +New versions are released automatically with semantic-release_ +as long as commits follow the `Angular Commit Message Conventions`_. + +.. _Angular Commit Message Conventions: https://semantic-release.gitbook.io/semantic-release/#commit-message-format +.. _semantic-release: https://semantic-release.gitbook.io/ + +Manual +^^^^^^ + +Publish a new version by triggering a `version workflow_dispatch on GitHub Actions`_. +The `version` input will be passed as the first argument to `poetry version`_. + +This may be done on the web or using the `GitHub CLI`_ with + +:: + + $ gh workflow run version.yml --raw-field version= .. _Poetry version: https://python-poetry.org/docs/cli/#version -.. _workflow_dispatch on GitHub Actions: https://github.com/makenew/pypackage/actions?query=workflow%3Aversion +.. _GitHub CLI: https://cli.github.com/ +.. _version workflow_dispatch on GitHub Actions: https://github.com/seamapi/javascript-http/actions?query=workflow%3Aversion GitHub Actions --------------