Changes between Initial Version and Version 1 of Development2/ReleaseChecklist


Ignore:
Timestamp:
05/06/16 08:00:34 (8 years ago)
Author:
jaap
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Development2/ReleaseChecklist

    v1 v1  
     1
     2= 1) Complete milestone =
     3
     4  * Update/complete the milestone in Trac for the release - i.e.: [milestone:v1.0.1]
     5  * reference ticket's with each item
     6
     7= 2) Complete source code =
     8
     9  * update {{{CHANGES}}} : copy/paste milestone text
     10  * update {{{sara_cmt/__init__.py}}} : set correct {{{ __version__ }}}
     11
     12= 3) Create  PIP package =
     13
     14{{{
     15python setup.py sdist
     16}}}
     17
     18= 4) Test =
     19
     20 * test package
     21 * test upgrading / compatibility issues
     22 * if everything ok: continue with steps 5+
     23
     24= 5) GIT: bugfix release: patchlevel version increase =
     25
     26When you're only releasing a patchlevel version, i.e.: from 1.0.0 to 1.0.1:
     27  * we don't create seperate branch for patchlevel versions
     28  * we keep the minor version branch, i.e.: 1.0
     29  * just tag the version
     30  * push the tags
     31
     32{{{
     33git checkout stable/<version>
     34git tag -a <version> -m "Version <version> release"
     35git push --tags
     36}}}
     37
     38I.e.: release 1.0.1:
     39
     40{{{
     41git checkout stable/1.0
     42git tag -a 1.0.1 -m "Version 1.0.1 release"
     43git push --tags
     44}}}
     45
     46= 5) GIT: feature release: major/minor version increase =
     47
     48For major or minor version increase releases (i.e. 1.1 or 2.0)
     49  * we create a new branch
     50  * tag the version
     51  * push the tags and new branch
     52  * setup local branch tracking so you get remote updates for the new branch
     53
     54{{{
     55git checkout -b stable/<version> master # Create new local branch for new <version> based on <master>
     56git tag -a <version> -m "Version <version> release"
     57git push --tags <remote> stable/<version> # Create new remote branch for new <version>
     58git config branch.stable/<version>.remote <remote> # Set up local branch tracking
     59git config branch.stable/<version>.merge refs/heads/stable/<version> # Set up local branch tracking
     60}}}
     61
     62I.e.: release 1.1
     63{{{
     64git checkout -b stable/1.1 master
     65git tag -a 1.1 -m "Version 1.1 release"
     66git push --tags origin stable/1.1
     67git config branch.stable/1.1.remote origin
     68git config branch.stable/1.1.merge refs/heads/stable/1.1
     69}}}
     70
     71= 6) Create tarball =
     72
     73{{{
     74git checkout stable/<version>
     75git archive --format=tar --prefix=CMT-<version>/ HEAD | bzip2 >CMT-<version>.src.tar.bz2
     76}}}
     77
     78I.e.:
     79{{{
     80git checkout stable/1.0
     81git archive --format=tar --prefix=CMT-1.0.1/ HEAD | bzip2 >CMT-1.0.1.src.tar.bz2
     82}}}
     83
     84= 7) Upload to FTP =
     85
     86  * upload src + pip package to ftp