.. _making_a_release: ================ Making a release ================ A core developer should use the following steps to create a release `X.Y.Z` of **cmake-python-distributions** on `PyPI`_. This is usually done after :ref:`updating_cmake_version`. ------------- Prerequisites ------------- * All CI tests are passing on `GitHub Actions`_. * You have a `GPG signing key `_. --------------------- `PyPI`_: Step-by-step --------------------- 1. Make sure that all CI tests are passing on `GitHub Actions`_. 2. Download the latest sources if you don't already have them .. code:: console $ git clone git@github.com:scikit-build/cmake-python-distributions $ cd cmake-python-distributions 3. Ask nox for the instructions on what to type .. code:: console $ nox -s tag_release 4. Run the suggested lines, probably something like this: .. code:: console $ git tag --sign -m 'cmake-python-distributions 3.29.1' 3.29.1 main $ git push origin 3.29.1 .. warning:: We recommend using a `GPG signing key `_ to sign the tag. 5. Check the status of the builds on `GitHub Actions`_. 6. Once the builds are completed, check that the distributions are available on `PyPI`_. 7. Make a GitHub release based on the tag. This will display the latest version in the GitHub sidebar, and will notify release watchers of the release. Title it `Version X.Y.Z` and add a little note about what changed (Python only). .. _GitHub Actions: https://github.com/scikit-build/cmake-python-distributions/actions/workflows/build.yml .. _PyPI: https://pypi.org/project/cmake