From e8e1f7a63e6b3240e63d6a50eb1c7a07c60e42f0 Mon Sep 17 00:00:00 2001 From: Marc Garcia Date: Wed, 7 Jun 2023 19:08:21 +0400 Subject: [PATCH] Backport PR #53435: DOC: Update release process --- doc/source/development/maintaining.rst | 35 +++++++++++++++++++------- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/doc/source/development/maintaining.rst b/doc/source/development/maintaining.rst index 994dfde0894f3..f7665dbed6499 100644 --- a/doc/source/development/maintaining.rst +++ b/doc/source/development/maintaining.rst @@ -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 `_, - `pandas-wheels `_, and +- Merge rights to the `pandas `_ and `pandas-feedstock `_ repositories. -- Permissions to push to main in the pandas repository, to push the new tags. -- `Write permissions to PyPI `_ + 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 `_. +- 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 @@ -438,10 +441,10 @@ which will be triggered when the tag is pushed. 4. Create a `new GitHub release `_: - - Title: ``Pandas `` - Tag: ```` - - Files: ``pandas-.tar.gz`` source distribution just generated + - Title: ``Pandas `` - Description: Copy the description of the last release of the same kind (release candidate, major/minor or patch release) + - Files: ``pandas-.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) @@ -449,6 +452,9 @@ which will be triggered when the tag is pushed. 5. The GitHub release will after some hours trigger an `automated conda-forge PR `_. 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 `_. @@ -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/``. +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/`` + for major and minor releases, or ``version/`` to ``version/`` 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 @@ -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 `_. + 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