-
Notifications
You must be signed in to change notification settings - Fork 41
Release process
Osma Suominen edited this page Oct 28, 2019
·
26 revisions
How to make a new release of Annif.
- Check that the
master
branch is in shape for a new release - tests are passing, no serious open issues etc. - Make sure your local
master
branch is up to date w.r.t. GitHub:git checkout master; git pull
- Activate the pipenv with
pipenv shell
if you haven't already - Make a new version with bumpversion:
bumpversion release
- Check with
git log
that the new version number matches your expectations. - Push the commit to GitHub:
git push
- Push the version tag too:
git push --tags
- Wait for Travis CI builds to complete. The version tag should trigger a distribution build that is uploaded to PyPI.
- In GitHub Releases tab, turn the tag into a release and add release notes. This should trigger archiving on Zenodo.
- Close the milestone corresponding to the release (and create a new one for the next release).
- Update the wiki documentation to match features of the new release (e.g. new or updated backends) and check that API documentation has been correctly updated (updating should happen on all commits to
master
). - Announce the release on annif-users and other channels (e.g. twitter)
- Create a blog post (in Finnish) in the Finto wiki about the new release (make sure to include a Label
finto
) - Announce the release on @Fintopalvelu twitter, with a link to the blog post
- Post the announcement to the mailing lists
finto-tiedotus
andautomaattinen-kuvailu
(make sure the message is not held up in moderation) - Prepare the
master
branch for the next development release with bumpversion:bumpversion minor
(this should increment the second part of the version number and add a-dev
suffix) - Check with
git log
that the new version number matches your expectations. - Push the commit to GitHub:
git push
- Push the version tag too:
git push --tags
- Home
- Getting started
- System requirements
- Optional features and dependencies
- Usage with Docker
- Architecture
- Commands
- Web user interface
- REST API
- Corpus formats
- Project configuration
- Analyzers
- Transforms
- Language detection
- Hugging Face Hub integration
- Achieving good results
- Reusing preprocessed training data
- Running as a WSGI service
- Backward compatibility between Annif releases
- Backends
- Development flow, branches and tags
- Release process
- Creating a new backend