diff --git a/MAINTAINERS.rst b/MAINTAINERS.rst index a22e150b..126d10b6 100644 --- a/MAINTAINERS.rst +++ b/MAINTAINERS.rst @@ -84,48 +84,78 @@ following steps are performed: appropriately. The tagged commit should have a "clean" version string. - Ensure the release tag is signed. -A release can be made with the following commands: +A release can be made with the following commands. + +---- + +Perform a clean build: + +.. code-block:: shell + + python -m build + +Verify packages can be published: + +.. code-block:: shell + + twine check dist/* + +Validate artifacts with a local pip install: + +.. code-block:: shell + + pip install dist/*.whl + cd + python -m sphinxcontrib.confluencebuilder --version + python -m sphinx -b confluence . _build/confluence -E -a + pip uninstall sphinxcontrib-confluencebuilder + +Sign the packages: + +.. code-block:: shell + + gpg --detach-sign -a dist/sphinxcontrib*.gz + gpg --detach-sign -a dist/sphinxcontrib*.whl + +Sanity check the signed packages: .. code-block:: shell-session - $ python -m build - * Creating virtualenv isolated environment... - ... + gpg --verify dist/sphinxcontrib*.gz.asc + gpg --verify dist/sphinxcontrib*.whl.asc + +Publish the packages: - (note: verify packages can be published) +.. code-block:: shell - $ twine check dist/* + twine upload dist/* - (note: validate artifacts with a local pip install) +Check pip install with PyPI package: - $ pip install dist/*.whl - $ cd - $ python -m sphinxcontrib.confluencebuilder --version - $ python -m sphinx -b confluence . _build/confluence -E -a - $ pip uninstall sphinxcontrib-confluencebuilder +.. code-block:: shell - (note: generate hashes) + cd + pip install sphinxcontrib-confluencebuilder + python -m sphinxcontrib.confluencebuilder --version + python -m sphinx -b confluence . _build/confluence -E -a + pip uninstall sphinxcontrib-confluencebuilder - $ gpg --detach-sign -a dist/sphinxcontrib*.gz - $ gpg --detach-sign -a dist/sphinxcontrib*.whl +Tag/push the release tag: - (note: verify with `gpg --verify `) +.. code-block:: shell - $ twine upload dist/* + git tag -s -a v -m "sphinxcontrib-confluencebuilder " + git verify-tag + git push origin - (note: check pip install with PyPI package) +Generate hashes from the release: - $ cd - $ pip install sphinxcontrib-confluencebuilder - $ python -m sphinxcontrib.confluencebuilder --version - $ python -m sphinx -b confluence . _build/confluence -E -a - $ pip uninstall sphinxcontrib-confluencebuilder +.. code-block:: shell - (note: tag and push) + cd dist + sha256sum -b * >sphinxcontrib-confluencebuilder-.sha256sum - $ git tag -s -a v -m "sphinxcontrib-confluencebuilder " - $ git verify-tag - $ git push origin +Create a new release entry on GitHub. Sanity checks and cleanup -------------------------