File: release-process.rst

package info (click to toggle)
python-packaging 26.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 920 kB
  • sloc: python: 11,120; makefile: 130; sh: 35
file content (39 lines) | stat: -rw-r--r-- 1,361 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Release Process
===============

#. Checkout the current ``main`` branch.

#. Install the latest ``nox``::

    $ pip install nox

#. Manually update the changelog to list all unreleased changes. Also verify
   that no new changes were added to a previous release in an earlier PR due to
   merge/rebase issues.

#. Run the release automation with the required version number (YY.N)::

    $ nox -s release -- YY.N

   This creates a new tag for the release. It will tell you how to push the tag.

#. Push the tag (command will be printed out in the last step).

#. Run the 'Publish' manual GitHub workflow, specifying the Git tag's commit
   SHA. This will build and publish the package to PyPI. Publishing will wait
   for any `required approvals`_.

#. Once it is approved and published to PyPI, add a
   `release on GitHub <https://github.com/pypa/packaging/releases>`__.
   Changelog can be auto-generated, but compare with the official changelog
   too.

.. note::

   Access needed for making the release are:

   - PyPI maintainer (or owner) access to ``packaging``
   - push directly to the ``main`` branch on the source repository
   - push tags directly to the source repository

.. _required approvals: https://docs.github.com/en/actions/managing-workflow-runs-and-deployments/managing-deployments/reviewing-deployments#approving-or-rejecting-a-job