Skip to content

Commit

Permalink
MAINTAINERS.rst: update release instructions/notes
Browse files Browse the repository at this point in the history
With the release of v2.2 of this extension, a cleanup of the commands
have been made:

- Provide a bit more explicit steps when generating signatures/verifying
   artifacts.
- Adding note on hashes and generating a release, since we will use
   GitHub's release page to distribute signatures/hashes.

Signed-off-by: James Knight <james.d.knight@live.com>
  • Loading branch information
jdknight committed Jul 22, 2023
1 parent 7a157fe commit 2adb8a7
Showing 1 changed file with 57 additions and 27 deletions.
84 changes: 57 additions & 27 deletions MAINTAINERS.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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 <working-project>
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 <working-project>
$ 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 <working-project>
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 <artifact>`)
.. code-block:: shell
$ twine upload dist/*
git tag -s -a v<version> <hash> -m "sphinxcontrib-confluencebuilder <version>"
git verify-tag <tag>
git push origin <tag>
(note: check pip install with PyPI package)
Generate hashes from the release:

$ cd <working-project>
$ 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-<version>.sha256sum
$ git tag -s -a v<version> <hash> -m "sphinxcontrib-confluencebuilder <version>"
$ git verify-tag <tag>
$ git push origin <tag>
Create a new release entry on GitHub.

Sanity checks and cleanup
-------------------------
Expand Down

0 comments on commit 2adb8a7

Please sign in to comment.