Document the simplified release process
@@ -80,20 +80,13 @@ Creating a new release
----------------------
#. Checkout the current pip ``master`` branch.
-#. Ensure you have the latest ``wheel``, ``setuptools``, ``twine`` and ``nox`` packages installed.
-#. Generate a new ``AUTHORS.txt`` (``nox -s generate_authors``) and commit the
- results.
-#. Bump the version in ``pip/__init__.py`` to the release version and commit
- the results. Usually this involves dropping just the ``.devN`` suffix on the
- version.
-#. Generate a new ``NEWS.rst`` (``nox -s generate_news``) and commit the
- results.
-#. Create a tag at the current commit, of the form ``YY.N``
- (``git tag YY.N``).
-#. Checkout the tag (``git checkout YY.N``).
-#. Create the distribution files (``python setup.py sdist bdist_wheel``).
-#. Upload the distribution files to PyPI using twine
- (``twine upload dist/*``).
+#. Ensure you have the latest ``nox`` and ``twine`` installed.
+#. Prepare for release using ``nox -s prepare-release -- YY.N``.
+ This will update the relevant files and tag the correct commit.
+#. Build the release artifacts using ``nox -s build-release -- YY.N``.
+ This will checkout the tag, generate the distribution files to be
+ uploaded and checkout the master branch again.
+#. Upload the distribution files to PyPI using ``twine upload dist/*``.
#. Push all of the changes including the tag.
#. Regenerate the ``get-pip.py`` script in the `get-pip repository`_ (as
documented there) and commit the results.
@@ -102,11 +95,6 @@ Creating a new release
adjusting the versions listed in ``Lib/ensurepip/__init__.py``.
-.. note::
-
- Steps 3 to 6 are automated in ``nox -s release -- YY.N`` command.
-
-
.. note::
If the release dropped the support of an obsolete Python version ``M.m``,
@@ -117,6 +105,7 @@ Creating a new release
.. note::
+
If the ``get-pip.py`` script needs to be updated due to changes in pip internals
and if the last ``M.m/get-pip.py`` published still uses the default template, make
sure to first duplicate ``templates/default.py`` as ``templates/pre-YY.N.py``
@@ -135,7 +124,7 @@ order to create one of these the changes should already be merged into the
command ``git checkout -b release/YY.N.Z+1 YY.N``.
#. Cherry pick the fixed commits off of the ``master`` branch, fixing any
conflicts.
-#. Follow the steps 3 to 6 from above (or call ``nox -s release -- YY.N.Z+1``)
+#. Run ``nox -s prepare-release -- YY.N.Z+1``.
#. Merge master into your release branch and drop the news files that have been
included in your release (otherwise they would also appear in the ``YY.N+1``
changelog)
