Skip to content

Conversation

@datapythonista
Copy link
Member

This was in a branch in the release repo, and not fully updated. I expect to automate some of the tasks shortly, but having the current release process here while things are improved is still helpful.

The final testing before the release is not added here. I think that's the first thing to move to the CI.

CC: @lithomas1 @mroeschke

a particular version number. After the release the new pandas version will be available
in the next places:

- Git repo with a new tag
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor

@lithomas1 lithomas1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for writing this up.

versions are released from their branch (e.g. ``1.5.x``).


Pre-release
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be good to have a section on cutting new branches, detailing what needs to be updated in the CI and when to do it(I don't remember if we cut during release, or do it before the release and start backporting).

The release process makes a snapshot of pandas (a git commit) available to users with
a particular version number. After the release the new pandas version will be available
in the next places:

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be nice to add a prerequisites section, detailing what sort of permissions you need to release and how to ask for them.

Release process
---------------

The process for releasing a new version of pandas can be found at https://github.com/pandas-dev/pandas-release
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any ideas/plans for the old release repo?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd personally archive it once this is merged, and delete it once we released once or twice without using it.

We may want to move couple of scripts here before that happens, for example to automatically download all the wheels, if we don't automate it in the CI before.

git commit --allow-empty --author="Pandas Development Team <pandas-dev@python.org>" -m "RLS: <version>"
git tag -a v<version> -m "Version <version>" # NOTE that the tag is v1.5.2 with `v` not 1.5.2
git push upstream <branch> --follow-tags
```
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be nice to mention that the docs get uploaded automatically from the commit that you tag from.

- Title: ``Pandas <version>``
- Tag: ``<version>``
- Files: ``pandas-<version>.tar.gz`` source distribution just generated
- Description: Copy the description of the last release of the same kind (release candidate, major/minor or patch release)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also mention "Set as release/pre-release" checkboxes should be marked accordingly.


1. Agree with the core team on the next topics:

- Release date
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be nice to mention the usual release cadence for patch/minor releases.

4. If not a release candidate, make sure all backporting pull requests to the branch
being released are merged.

5. Create a new issue and milestone for the version after the one being released.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After a minor/major release, you would need to create two milestones, right?

One for the patch release (e.g. 1.5.1) and one for the next major version (e.g. 2.0.0).

Copy link
Member

@mroeschke mroeschke left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks good idea. Even if this is automated, this will be helpful to describe what is automated

@datapythonista
Copy link
Member Author

Thanks @lithomas1 and @mroeschke, great feedback. All comments should be addressed now.

@lithomas1 lithomas1 added this to the 2.0 milestone Nov 25, 2022
@mroeschke mroeschke merged commit adaffe9 into pandas-dev:main Nov 25, 2022
@mroeschke
Copy link
Member

Awesome thanks @datapythonista

mliu08 pushed a commit to mliu08/pandas that referenced this pull request Nov 27, 2022
* DOC: Add release process

* Update doc/source/development/maintaining.rst

Co-authored-by: Matthew Roeschke <10647082+mroeschke@users.noreply.github.com>

* Addressing review comments

Co-authored-by: Matthew Roeschke <10647082+mroeschke@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants