Changes between Version 1 and Version 2 of ReleaseProcedure
- Timestamp:
- Aug 15, 2007, 12:37:30 PM (17 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ReleaseProcedure
v1 v2 5 5 These instructions cover how to release minor and patch releases in a 6 6 project that uses trac/subversion for revision control and project 7 management. How to release major releases is not covered yet since we 8 have not done that (with the exception of the first release). Release 7 management. How to release major releases is not covered yet. Release 9 8 numbering follows the normal convention of major.minor.patch and the 10 9 APR (see http://apr.apache.org/versioning.html) guidelines for … … 18 17 every time a new patch release is made. Remember, patch work should be 19 18 limited to bug fixes and important fixes only leaving development of 20 new features and designs to the trunk branch .19 new features and designs to the trunk branch, or other special branches. 21 20 22 21 Releases should only be performed by an appointed member of the team, … … 31 30 32 31 1. Make sure that all commits are performed into to the trunk, such 33 as bumping version number(s) ([source:trunk/configure.ac configure.ac]), 34 acknowledge contributions ([source:trunk/THANKS THANKS]), update 35 files [source:trunk/NEWS NEWS] and [source:trunk/ChangeLog ChangeLog]. 32 as bumping version number(s) ([source:trunk/build.xml build.xml]), 33 acknowledge contributions ([source:trunk/credits.txt credits.txt]), 34 API changes that may affect backwards compatibility 35 ([http://base.thep.lu.se/chrome/site/doc/html/appendix/appendix.incompatible.html API changes]), 36 and other files as necessary. 36 37 [[br]][[br]] 37 i. Update version number in [source:trunk/ configure.ac configure.ac]. Locate and change the38 below line 39 {{{ 40 AC_INIT([svndigest],[A.B],[jari.at.thep.lu.se]) 41 }}} 42 i. Update [source:trunk/ THANKS THANKS]. Remember, ego and vanity is the currency of open38 i. Update version number in [source:trunk/build.xml build.xml]. Locate and change the 39 below line 40 {{{ 41 <property name="base.minorversion" value="B" /> 42 }}} 43 i. Update [source:trunk/credits.txt credits.txt]. Remember, ego and vanity is the currency of open 43 44 source projects. Well, there are other reasons for open source 44 projects but [source:trunk/THANKS THANKS] is for boosting peoples' ego. [[br]][[br]] 45 i. Set the date for the new release in [source:trunk/NEWS NEWS] 46 {{{ 47 version A.B (released 26 June 2007) 48 }}} 49 Make sure that the items in [source:trunk/NEWS NEWS] cover the new features of the 50 release. [[br]][[br]] 51 i. Finalize the links to trac in [source:trunk/ChangeLog ChangeLog] 52 {{{ 53 version A.B: 54 - http://trac.thep.lu.se/trac/svndigest/log/trunk?rev=N&stop_rev=M 55 - http://trac.thep.lu.se/trac/svndigest/query?milestone=A.B&order=id 56 }}} 57 where M should be current HEAD+2 (2 more commits are needed before release). 58 [[br]][[br]] 45 projects but [source:trunk/credits.txt credits.txt] is for boosting peoples' ego. [[br]][[br]] 46 i. Make sure that the API incompatibility list is up to date 47 [http://base.thep.lu.se/chrome/site/doc/html/appendix/appendix.incompatible.html API changes]. 48 This document should really be changed as the API changes, please do not leave this task to be 49 done at the last minute of release. 50 i. Make other changes as needed. If items are missing from this list, please add them with proper 51 instructions for the items changes maintenance. 59 52 i. Commit changes to the repository, `svn ci -m "Preparing release A.B"` 60 53 [[br]][[br]] 61 1. Update copyright statements with commands 62 {{{ 63 ./bootstrap 64 make all 65 make check 54 1. Update copyright statements with 55 {{{ 66 56 ./bin/svndigest --copyright 67 57 }}} 68 Examine the updates and commit changes with `svn ci -m "updating copyright statements"`[[br]][[br]] 58 Examine the updates and commit changes with `svn ci -m "updating copyright statements"`. For 59 this step [http://trac.thep.lu.se/trac/svndigest svndigest] is obviously needed. [[br]][[br]] 69 60 1. Needless to say, make sure that the program is in a state to be 70 61 released; make sure that all the tests pass, test the distribution … … 72 63 appropriate: 73 64 {{{ 74 ./bootstrap 75 make check 76 make distcheck 77 }}} 65 Please add test command sequence here 66 }}} 67 If you fail in this step, please resolve the issues and restart these procedures. [[br]][[br]] 78 68 1. Create a tag using a one liner like 79 69 {{{ 80 svn copy http://lev.thep.lu.se/repository/ svndigest/trunk \81 http://lev.thep.lu.se/repository/ svndigest/tags/A.B \70 svn copy http://lev.thep.lu.se/repository/base/trunk \ 71 http://lev.thep.lu.se/repository/base/tags/A.B \ 82 72 -m "Tagging version A.B" 83 73 }}} 84 74 1. Update the version list in Trac using the 85 [http:// trac.thep.lu.se/trac/svndigest/admin trac-admin tool].75 [http://base.thep.lu.se/admin trac-admin tool]. 86 76 [[br]][[br]] 87 77 1. Create a distribution package: 88 78 {{{ 89 svn co http://lev.thep.lu.se/repository/ svndigest/tags/A.B A.B_dist79 svn co http://lev.thep.lu.se/repository/base/tags/A.B A.B_dist 90 80 cd A.B_dist 91 ./bootstrap 92 ./configure [OPTION]... 93 make dist 81 ant package 94 82 }}} 95 83 Attach the new package to the DownloadPage. Remove `A.B_dist` … … 115 103 1. Create a new minor branch using a one liner like 116 104 {{{ 117 svn copy http://lev.thep.lu.se/repository/ svndigest/tags/A.B \118 http://lev.thep.lu.se/repository/ svndigest/branches/A.B-stable \105 svn copy http://lev.thep.lu.se/repository/base/tags/A.B \ 106 http://lev.thep.lu.se/repository/base/branches/A.B-stable \ 119 107 -m "New minor version A.B branch" 120 108 }}} … … 122 110 i. Check out the new minor branch 123 111 {{{ 124 svn co http://lev.thep.lu.se/repository/ svndigest/branches/A.B-stable A.B125 }}} 126 i. Update version number in ` configure.ac`. Locate and change the112 svn co http://lev.thep.lu.se/repository/base/branches/A.B-stable A.B 113 }}} 114 i. Update version number in `build.xml`. Locate and change the 127 115 below line 128 116 {{{