Skip to content

Commit

Permalink
Backport PR pandas-dev#53435: DOC: Update release process
Browse files Browse the repository at this point in the history
  • Loading branch information
datapythonista authored and meeseeksmachine committed Jun 7, 2023
1 parent c1247a7 commit e8e1f7a
Showing 1 changed file with 26 additions and 9 deletions.
35 changes: 26 additions & 9 deletions doc/source/development/maintaining.rst
Original file line number Diff line number Diff line change
Expand Up @@ -368,11 +368,14 @@ Prerequisites

In order to be able to release a new pandas version, the next permissions are needed:

- Merge rights to the `pandas <https://github.com/pandas-dev/pandas/>`_,
`pandas-wheels <https://github.com/MacPython/pandas-wheels>`_, and
- Merge rights to the `pandas <https://github.com/pandas-dev/pandas/>`_ and
`pandas-feedstock <https://github.com/conda-forge/pandas-feedstock/>`_ repositories.
- Permissions to push to main in the pandas repository, to push the new tags.
- `Write permissions to PyPI <https://github.com/conda-forge/pandas-feedstock/pulls>`_
For the latter, open a PR adding your GitHub username to the conda-forge recipe.
- Permissions to push to ``main`` in the pandas repository, to push the new tags.
- `Write permissions to PyPI <https://github.com/conda-forge/pandas-feedstock/pulls>`_.
- Access to our website / documentation server. Share your public key with the
infrastructure committee to be added to the ``authorized_keys`` file of the main
server user.
- Access to the social media accounts, to publish the announcements.

Pre-release
Expand Down Expand Up @@ -438,17 +441,20 @@ which will be triggered when the tag is pushed.

4. Create a `new GitHub release <https://github.com/pandas-dev/pandas/releases/new>`_:

- Title: ``Pandas <version>``
- Tag: ``<version>``
- Files: ``pandas-<version>.tar.gz`` source distribution just generated
- Title: ``Pandas <version>``
- Description: Copy the description of the last release of the same kind (release candidate, major/minor or patch release)
- Files: ``pandas-<version>.tar.gz`` source distribution just generated
- Set as a pre-release: Only check for a release candidate
- Set as the latest release: Leave checked, unless releasing a patch release for an older version
(e.g. releasing 1.4.5 after 1.5 has been released)

5. The GitHub release will after some hours trigger an
`automated conda-forge PR <https://github.com/conda-forge/pandas-feedstock/pulls>`_.
Merge it once the CI is green, and it will generate the conda-forge packages.
In case a manual PR needs to be done, the version, sha256 and build fields are the
ones that usually need to be changed. If anything else in the recipe has changed since
the last release, those changes should be available in ``ci/meta.yaml``.

6. Packages for supported versions in PyPI are built in the
`MacPython repo <https://github.com/MacPython/pandas-wheels>`_.
Expand All @@ -475,8 +481,16 @@ which will be triggered when the tag is pushed.
Post-Release
````````````

1. Update symlink to stable documentation by logging in to our web server, and
editing ``/var/www/html/pandas-docs/stable`` to point to ``version/<latest-version>``.
1. Update symlinks to stable documentation by logging in to our web server, and
editing ``/var/www/html/pandas-docs/stable`` to point to ``version/<latest-version>``
for major and minor releases, or ``version/<minor>`` to ``version/<patch>`` for
patch releases. The exact instructions are (replace the example version numbers by
the appropriate ones for the version you are releasing):

- Log in to the server and use the correct user.
- `cd /var/www/html/pandas-docs/`
- `ln -sfn version/2.1 stable` (for a major or minor release)
- `ln -sfn version/2.0.3 version/2.0` (for a patch release)

2. If releasing a major or minor release, open a PR in our source code to update
``web/pandas/versions.json``, to have the desired versions in the documentation
Expand All @@ -488,13 +502,16 @@ Post-Release

5. Open a PR with the placeholder for the release notes of the next version. See
for example `the PR for 1.5.3 <https://github.com/pandas-dev/pandas/pull/49843/files>`_.
Note that the template to use depends on whether it is a major, minor or patch release.

6. Announce the new release in the official channels (use previous announcements
for reference):

- The pandas-dev and pydata mailing lists
- Twitter, Mastodon and Telegram
- Twitter, Mastodon, Telegram and LinkedIn

7. Update this release instructions to fix anything incorrect and to update about any
change since the last release.

.. _governance documents: https://github.com/pandas-dev/pandas-governance
.. _list of permissions: https://docs.github.com/en/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization

0 comments on commit e8e1f7a

Please sign in to comment.