TripleO/ReleaseManagement
< TripleO
Revision as of 13:53, 13 February 2014 by Tomas Sedovic (talk | contribs)
Prerequisites
- Upload your GPG key to Launchpad
- Become a member of tripleo-ptl ACL group in Gerrit
Projects
Currently, we make releases of the following projects on a regular basis:
- os-apply-config
- os-refresh-config
- os-collect-config
- diskimage-builder
- tripleo-heat-templates
- tripleo-image-elements
- tuskar
- tuskar-ui
- python-tuskarclient
Versioning scheme
Generally, we follow the rules of Semantic Versioning, but as long as 1.0.0 version of a project hasn't been released, we use 0.MAJOR.MINOR versioning scheme, bumping MAJOR only when we do something incompatible with the previous release, and bumping MINOR part otherwise.
How to make a release
- Go to the project dir
- Update your clone
git remote update git checkout master && git pull
- Find the version number of the last release among the other tags
git tag | sort --version-sort
- Find out what has changed since the last release
git log -u --no-merges $LAST_VERSION..HEAD
- Create a signed tag bumping the version number according to the versioning scheme described above
git tag -s X.Y.Z
- Verify the tag GPG signature
git tag -v $NEW_VERSION
- Push the created tag to Gerrit
git push gerrit $NEW_VERSION
- Use process_bugs util to close all the bugs which are in 'Fix committed' state
python process_bugs.py $PROJECT_NAME --fixrelease