astroid/doc/release.md

1.3 KiB

Releasing an astroid version

So, you want to release the X.Y.Z version of astroid ?

Process

  1. Check if the dependencies of the package are correct
  2. Check the result (Do git diff vX.Y.Z-1 ChangeLog in particular).
  3. Install the release dependencies pip3 install pre-commit tbump
  4. Bump the version and release by using tbump X.Y.Z --no-push.
  5. Push the tag.
  6. Release the version on GitHub with the same name as the tag and copy and paste the appropriate changelog in the description. This trigger the pypi release.

Post release

Back to a dev version

Move back to a dev version with tbump:

tbump X.Y.Z+1-dev0 --no-tag --no-push # You can interrupt during copyrite
git commit -am "Upgrade the version to x.y.z+1-dev0 following x.y.z release"

Check the result and then upgrade the main branch

Milestone handling

We move issue that were not done in the next milestone and block release only if it's an issue labelled as blocker.

Post release

Merge tags in main for pre-commit

If the tag you just made is not part of the main branch, merge the tag vX.Y.Z in the main branch by doing a history only merge. It's done in order to signal that this is an official release tag, and for pre-commit autoupdate to works.

git checkout main
git merge --no-edit --strategy=ours vX.Y.Z
git push