mirror of
https://fuchsia.googlesource.com/third_party/github.com/pylint-dev/pylint
synced 2024-09-21 07:58:04 +00:00
1.8 KiB
1.8 KiB
Releasing a pylint version
So, you want to release the X.Y.Z
version of pylint ?
Process
- Check if the dependencies of the package are correct, make sure that astroid is pinned to the latest version.
- Install the release dependencies
pip3 install pre-commit tbump
- Bump the version by using
tbump X.Y.Z --no-tag --no-push
- Check the result (Do
git diff vX.Y.Z-1 ChangeLog doc/whatsnew/
in particular). - Move back to a dev version for pylint with
tbump
:
tbump X.Y.Z+1-dev0 --no-tag --no-push # You can interrupt during copyrite
git commit -am "Move back to a dev version following X.Y.Z release"
- Check the result
- Open a merge request with the two commits (no one can push directly on
main
) - After the merge recover the merged commits and tag the first one (the version should
be
X.Y.Z
) asvX.Y.Z
- Push the tag
- Go to GitHub, click on "Releases" then on the
vX.Y.Z
tag, choose edit tag, and copy past the changelog in the description. This will trigger the release to pypi.
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
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.
- Close milestone
X.Y.Z
- Create the milestones for
X.Y.Z+1
, (orX.Y+1.0
, andX+1.0.0
if applicable)
What's new
If it's a minor release, create a new What's new in Pylint X.Y+1
document. Add it to
doc/index.rst
. Take a look at the examples from doc/whatsnew
.