= 1) Complete milestone = * Update/complete the milestone in Trac for the release - i.e.: [milestone:v1.0.1] * reference ticket's with each item = 2) Complete source code = * update {{{CHANGES}}} : copy/paste milestone text * update {{{sara_cmt/__init__.py}}} : set correct {{{ __version__ }}} = 3) Create PIP package = {{{ cd git/sara_cmt python setup.py sdist }}} = 4) Test = * test package * test upgrading / compatibility issues * if everything ok: continue with steps 5+ = 5) GIT: bugfix release: patchlevel version increase = When you're only releasing a patchlevel version, i.e.: from 1.0.0 to 1.0.1: * we don't create seperate branch for patchlevel versions * we keep the minor version branch, i.e.: 1.0 * just tag the version * push the tags {{{ git checkout stable/ git tag -a -m "Version release" git push --tags }}} I.e.: release 1.0.1: {{{ git checkout stable/1.0 git tag -a 1.0.1 -m "Version 1.0.1 release" git push --tags }}} = 5) GIT: feature release: major/minor version increase = For major or minor version increase releases (i.e. 1.1 or 2.0) * we create a new branch * tag the version * push the tags and new branch * setup local branch tracking so you get remote updates for the new branch {{{ git checkout -b stable/ master # Create new local branch for new based on git tag -a -m "Version release" git push --tags stable/ # Create new remote branch for new git config branch.stable/.remote # Set up local branch tracking git config branch.stable/.merge refs/heads/stable/ # Set up local branch tracking }}} I.e.: release 1.1 {{{ git checkout -b stable/1.1 master git tag -a 1.1 -m "Version 1.1 release" git push --tags origin stable/1.1 git config branch.stable/1.1.remote origin git config branch.stable/1.1.merge refs/heads/stable/1.1 }}} = 6) Create tarball = {{{ git checkout stable/ git archive --format=tar --prefix=CMT-/ HEAD | bzip2 >CMT-.src.tar.bz2 }}} I.e.: {{{ git checkout stable/1.0 git archive --format=tar --prefix=CMT-1.0.1/ HEAD | bzip2 >CMT-1.0.1.src.tar.bz2 }}} = 7) Upload to FTP = * upload src + pip package to ftp