Skip to content

Making a new Release

Benjamin Hackl edited this page Apr 2, 2021 · 20 revisions

Checklist for the release:

  • Check if there are open PRs that should be merged for the next release
  • Updating the changelog with the newest version number

NEVER PUSH MANUALLY TO PYPI: There are automatic actions which does that job for you as well as other. So creating a Release in Github After checking everything else would simply work out of the box.

Creating a release on GitHub

The process for creating a new release is documented here. Increment the second decimal (v0.1.0->v0.2.0) for regular releases and the third (v0.1.0->v0.1.1) for bugfixes. The release title is the same as the tag name. You don't need to create a tag from the command line as one will automatically be created for the release.

Publish to PyPI (requires maintainer permissions on PyPI)

Run git checkout <tag> to switch to the tag you created when the release was created. Then run poetry publish --build to publish to PyPI. Finally, upload the .tar.gz file generated to GitHub Release Assets. Only when the automatic fail to do it.

Note: You don't need to publish it manually it is done automatically. This documented to as an backup if that action fail.

Documentation

As long as we have an ongoing discussion about our stable branch, the default version of our documentation at https://docs.manim.community has to be changed to the latest release at https://readthedocs.org/dashboard/manimce/advanced/

Docker images

Docker images for new releases are built automatically, no manual intervention required. Should it, for some other reason, be necessary to deploy a new tagged image, then this can be done by running docker build -t manimcommunity/manim:v1.7.42 -f docker/Dockerfile . from the repository root, and then running docker push. (@behackl can grant access to the docker hub organization and repository.)

Update Changelog

Make the changelog appear correctly with the version and date updated. To do so:

  • Generate the changelog using the script in scripts/dev_changelog.py: run ./dev_changelog.py <github_token> v0.4.0..HEAD -o v0.5.0-changelog.rst (for more instructions see the dev_changelog.py script), and then
  • move the generated file to docs/source/changelog.

Announcements

Prepare release announcement text. Post release announcement on reddit Post release announcement on Twitter Post release announcement on #announcements channel in discord