Release the wordcloud package to PyPI
mainFollow these steps to trigger a new release of wordcloud. Ensure all CI tests (AppVeyor, CircleCI, Travis CI) are passing before starting.
- Identify version: List existing tags to choose the next version:
git tag -l | sort -V. Note: Tags must match the regex^[0-9]+(\.[0-9]+)*(\.(post[0-9]+))?$. - Update Changelog: In
doc/changelog.rst, rename theNext Releaseheader toWordCloud X.Y.Zand commit the change. - Tag and Push: Create a signed tag and push it to origin. Pushing the tag triggers the CI builds that automatically upload wheels and source distributions to PyPI.
- Verify: Check CI status and ensure distributions appear on PyPI.
- Test Installation: Create a clean environment to verify the installation works.
- Finalize: Restore the
Next Releasesection indoc/changelog.rstand push the master branch.
# 1. Update changelog
$ git add doc/changelog.rst
$ git commit -m "WordCloud ${release}"
# 2. Tag the release (recommended to use GPG)
$ git tag --sign -m "WordCloud ${release}" ${release} master
# 3. Publish the tag to trigger CI/PyPI upload
$ git push origin ${release}
# 4. Test the installation in a clean environment
$ mkvirtualenv wordcloud-${release}-install-test && \
pip install wordcloud && \
python -c "import wordcloud;print(wordcloud.__version__)"
# 5. Cleanup
$ deactivate && \
rm -rf dist/* && \
rmvirtualenv wordcloud-${release}-install-test
# 6. Restore changelog and push master
$ git push origin master