wiki:Development/ReleaseChecklist

Version 12 (modified by ramonb, 11 years ago) (diff)

--

1) Complete milestone

  • Update/complete the milestone in Trac for the release - i.e.: 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) Create tarball

git checkout stable/<version>
git archive --format=tar --prefix=CMT-<version>/ HEAD | bzip2 >CMT-<version>.src.tar.bz2

6) 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/<version>
git tag -a <version> -m "Version <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

6) 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/<version> master # Create new local branch for new <version> based on <master>
git tag -a <version> -m "Version <version> release"
git push --tags <remote> stable/<version> # Create new remote branch for new <version>
git config branch.stable/<version>.remote <remote> # Set up local branch tracking
git config branch.stable/<version>.merge refs/heads/stable/<version> # 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

7) Upload to FTP

  • upload src + pip package to ftp