Skip to content

Commit a6ad8ab

Browse files
DOC: Update release process (#53435)
* DOC: Update release process * Add exact symlinks instructions
1 parent 3fbf49d commit a6ad8ab

File tree

1 file changed

+26
-9
lines changed

1 file changed

+26
-9
lines changed

doc/source/development/maintaining.rst

+26-9
Original file line numberDiff line numberDiff line change
@@ -373,11 +373,14 @@ Prerequisites
373373

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

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

383386
Pre-release
@@ -443,17 +446,20 @@ which will be triggered when the tag is pushed.
443446

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

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

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

458464
6. Packages for supported versions in PyPI are built automatically from our CI.
459465
Once all packages are build download all wheels from the
@@ -468,8 +474,16 @@ which will be triggered when the tag is pushed.
468474
Post-Release
469475
````````````
470476

471-
1. Update symlink to stable documentation by logging in to our web server, and
472-
editing ``/var/www/html/pandas-docs/stable`` to point to ``version/<latest-version>``.
477+
1. Update symlinks to stable documentation by logging in to our web server, and
478+
editing ``/var/www/html/pandas-docs/stable`` to point to ``version/<latest-version>``
479+
for major and minor releases, or ``version/<minor>`` to ``version/<patch>`` for
480+
patch releases. The exact instructions are (replace the example version numbers by
481+
the appropriate ones for the version you are releasing):
482+
483+
- Log in to the server and use the correct user.
484+
- `cd /var/www/html/pandas-docs/`
485+
- `ln -sfn version/2.1 stable` (for a major or minor release)
486+
- `ln -sfn version/2.0.3 version/2.0` (for a patch release)
473487

474488
2. If releasing a major or minor release, open a PR in our source code to update
475489
``web/pandas/versions.json``, to have the desired versions in the documentation
@@ -481,13 +495,16 @@ Post-Release
481495

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

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

488503
- The pandas-dev and pydata mailing lists
489-
- Twitter, Mastodon and Telegram
504+
- Twitter, Mastodon, Telegram and LinkedIn
490505

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

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

0 commit comments

Comments
 (0)