wiki:Development2/ReleaseChecklist

Version 2 (modified by jaap, 4 years ago) (diff)

--

1) Complete milestone

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

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 2.0.0 to 2.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 2.0.1:

git checkout stable/2.0
git tag -a 2.0.1 -m "Version 2.0.1 release"
git push --tags

5) GIT: feature release: major/minor version increase

For major or minor version increase releases (i.e. 2.0 or 3.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 2.0

git checkout -b stable/2.0 master
git tag -a 2.0 -m "Version 2.0 release"
git push --tags origin stable/2.0
git config branch.stable/2.0.remote origin
git config branch.stable/2.0.merge refs/heads/stable/2.0

6) Create tarball

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

I.e.:

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

7) Upload to FTP

  • upload src + pip package to ftp