Changes between Version 4 and Version 5 of Dev_ReleaseManagement


Ignore:
Timestamp:
Mar 12, 2009 3:57:07 AM (4 years ago)
Author:
thomasb
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Dev_ReleaseManagement

    v4 v5  
    1111 * '''z''' = fix (0 can be omitted) 
    1212 
    13 == Creating a new release branch == 
     13== 1. Creating a release branch == 
    1414 
    1515{{{ 
    16 svn cp trunk/ branches/release-x.y 
    17 svn del branches/release-x.y/bin/dumpschema.php 
    18 svn del branches/release-x.y/bin/makedoc.sh 
    19 svn del branches/release-x.y/tests 
     16svn cp -m "new x.y release branch" http://svn.roundcube.net/trunk/roundcubemail http://svn.roundcube.net/branches/release-x.y 
    2017}}} 
    2118 
    22  * edit branches/release-x.y/CHANGELOG 
    23  * edit branches/release-x.y/README and remove SVN disclaimer 
    24  * bump up RoundCube's version in `config/main.inc.php.dist` 
    25  * bump up RoundCube's version in `index.php` 
    26  * bump up RoundCube's version in `program/include/iniset.php` 
     19Check out the release branch and remove development stuff: 
     20{{{ 
     21svn co http://svn.roundcube.net/branches/release-x.y 
     22svn del bin/dumpschema.php 
     23svn del bin/makedoc.sh 
     24svn del tests 
     25}}} 
     26 
     27 * edit CHANGELOG: only keep the changes since last release 
     28 * edit README: remove SVN disclaimer 
     29 * bump up version in `index.php` 
     30 * bump up version in `program/include/iniset.php` 
     31 * bump up version in `config/main.inc.php.dist` ({{{'useragent'}}}) 
     32 * commit the changes 
     33{{{ 
     34svn ci -m "Remove development stuff and update versions" 
     35}}} 
     36 
     37 
     38== 2. Create Package == 
     39 
     40=== Major Relase === 
    2741 
    2842{{{ 
    29 svn ci -m "new x.y release branch" 
    30 svn cp branches/release-x.y tags/release-x.y 
    31 svn ci -m "new x.y release tag" 
     43svn export http://svn.roundcube.net/branches/release-x.y ./roundcubemail-x.y 
     44tar czf roundcubemail-x.y.tar.gz ./roundcubemail-x.y 
     45md5_file roundcubemail-x.y.tar.gz 
     46}}} 
     47 
     48 * the version naming should obviously match the branch/tag 
     49 * the folder name should include the version 
     50 * distribute release on SourceForge 
     51 
     52=== Minor Release/Hotfix === 
     53 
     54 * commit changes to the existing release branch 
     55 * repeat the packaging and distribution process 
     56 * adjust naming in case of a hotfix or patch 
     57 * supply a patch in addition:  
     58 
     59{{{ 
     60svn diff http://svn.roundcube.net/tags/roundcubemail/vx.y http://svn.roundcube.net/branches/release-x.y > ./roundcubemail-patch-x.y.z.patch 
     61gzip ./roundcubemail-patch-x.y.z.patch 
     62}}} 
     63 
     64 * distribute patch on !SourceForge 
     65 
     66 
     67== 2.1 Create GPL package == 
     68 
     69TBD. 
     70 
     71 
     72== 3. Tagging released files == 
     73 
     74{{{ 
     75svn cp -m "Tagging files for x.y.z" http://svn.roundcube.net/branches/release-x.y http://svn.roundcube.net/tags/roundcubemail/vx.y.z 
    3276}}} 
    3377 
    3478The differences between branches and tags are the following: 
    3579 
    36  * a tag may not be "patched" or "hotfixed" 
    3780 * branch may be "patched" or "hotfixed" 
     81 * a tag is just a snapshot and may not be altered 
    3882 * in case you apply a fix to a branch, please create a new tag from it 
    3983 
    40 == Creating a tag after a fix == 
    4184 
    42 {{{ 
    43 svn ci -m " * important security fix in x.y release" branches/release-x.y 
    44 svn cp branches/release-x.y tags/release-x.y.z 
    45 }}} 
     85== 4. Announcements == 
    4686 
    47 == Create Download == 
    48  
    49 === Major Relase === 
    50  
    51 {{{ 
    52 svn export http://trac.roundcube.net/branches/release-x.y ./roundcubemail 
    53 tar -cf roundcubemail-x.y.tar ./roundcubemail 
    54 gzip roundcubemail-x.y.tar 
    55 rm -rf ./roundcubemail 
    56 }}} 
    57  
    58  * the version naming should obviously match the branch/tag 
    59  * distribute release on SourceForge 
    60  * adjust naming in case of a "hotfix" / "patch" 
    61  
    62 === Minor Release / Hotfix === 
    63  
    64  * repeat entire process 
    65  * supply a patch in addition:  
    66  
    67 {{{ 
    68 svn diff branches/release-x.y tags/x.y.z > ./roundcubemail-patch-x.y.z.patch 
    69 gzip ./roundcubemail-patch-x.y.z.patch 
    70 }}} 
    71  
    72  * distribute patch on SourceForge 
    73  
    74 == Announcements == 
    75  
    76  * write news entry on SourceForge 
     87 * update downloads page on roundcube.net 
     88 * write news entry on !SourceForge 
     89 * email announce@, dev@ and users@ 
     90 * update project page in freshmeat.net 
    7791 * post on Twitter (Till) 
    78  * email announce@, dev@ and users@ 
    7992 
    8093== TBD == 
     
    8497 * maybe a PEAR package with replacement tasks? (`@package_version@`) 
    8598 
     99 
     100 
    86101= Snapshots = 
    87102