- Communicate that a release is about to be released in the DaSCH Github Channel, so that no new Pull Requests are merged
- Create a new branch, e.g.,
releasing-vX.X.X
- Update the version number in
CMakeLists.txt
,manual/conf.py
. - Remove the
(not released yet)
text in the title of the release notes. - Create a new page with the next version number including the
(not released yet)
text and add page to TOC. - Update links in the new page to point to correct release tag and milestone.
- On Github - Create new milestone
- On Github - Move any open issues from current release milestone to the next release milestone and so on.
- On Github - Close current milestone.
- Push and merge PR to
main
. - Travis CI will start a CI build for the new tag and publish artifacts to Docker Hub.
- On Github - Tag the commit with the version string, e.g.,
vX.X.X
and create a release. - On Github - Copy the release notes from the docs to the release.
- Publish documentation.
Here is what happens in detail when Travis CI is building a git tagged commit. According to the .travis.yml
file,
the publish
stage runs the following task:
- Credentials are read from the
DOCKER_USER
andDOCKER_PASS
environment variables which are stored encrypted inside.travis.yml
. - The
sipi
docker image is build, tagged, and published.