Changes between Version 9 and Version 10 of ReleaseProcedure
- Timestamp:
- Aug 20, 2007, 1:42:56 PM (17 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ReleaseProcedure
v9 v10 11 11 12 12 The main development is performed in the trunk branch of the 13 repository. A new release branch is created for each minor release 14 from the trunk and patch releases are snapshots of the minor release 13 repository. A new release branch is forked from the trunk for each 14 minor release a short time period before release, and patch releases 15 are snapshots of the minor release 15 16 branch. This implies that patch work is performed in the minor release 16 17 branch, and changes made release branch is transferred to the trunk … … 27 28 == Minor release procedure == 28 29 29 This section describes what to do when publishing a minor release. 30 30 This section describes what to do when publishing a minor release. A 31 minor release branch is forked from the trunk when release time is 32 getting closer. After the fork all remaining work for the associated 33 milestone is performed in the minor branch, and if required changes 34 made to the minor branch must be merged into the trunk. 35 36 === Pre-final minor release procedure === 37 Steps to perform prior to the finalization of the minor release 31 38 1. Make sure that all commits are performed into to the trunk, such 32 as bumping version number(s) ([source:trunk/build.xml build.xml]), 33 acknowledge contributions ([source:trunk/credits.txt credits.txt]), 39 as acknowledge contributions ([source:trunk/credits.txt credits.txt]), 34 40 API changes that may affect backwards compatibility 35 41 ([http://base.thep.lu.se/chrome/site/doc/html/appendix/appendix.incompatible.html API changes]), 36 42 and other files as necessary. 37 43 [[br]][[br]] 38 i. Update version number in [source:trunk/build.xml build.xml]. Locate and change the 39 below line 44 1. Update copyright statements with the below command. Make sure that 45 you do not break file encodings such as UTF-8 and what not. One 46 example, do not use non-US characters for developer names in the 47 source:trunk/.svndigest/config file. 48 {{{ 49 ./bin/svndigest --copyright --no-report 50 }}} 51 Examine the updates and commit changes with `svn ci -m "updating 52 copyright statements"`. For this step 53 [http://trac.thep.lu.se/trac/svndigest svndigest] is obviously 54 needed. [[br]][[br]] 55 1. Create the new minor 56 {{{ 57 svn copy http://lev.thep.lu.se/repository/base/trunk \ 58 http://lev.thep.lu.se/repository/base/branches/A.B-stable \ 59 -m "Forking new minor version A.B branch" 60 }}} 61 1. Prepare the trunk for the next minor release [[br]][[br]] 62 i. Update version number in source:trunk/build.xml. Locate and 63 change the below line 64 {{{ 65 <property name="base.minorversion" value="B+1" /> 66 }}} 67 i. Commit changes to the repository, 68 `svn ci -m "Changes for future release A.[B+1]"` [[br]][[br]] 69 70 From now on, all changes needed for the minor release must be done to 71 this new branch only. Changes made are merged into the trunk at 72 release if required 73 74 === Final minor release procedure === 75 1. Make sure that all commits are performed into to the minor branch, 76 such as bumping version number(s) (build.xml), acknowledge 77 contributions (credits.txt), API changes that may affect backwards 78 compatibility 79 ([http://base.thep.lu.se/chrome/site/doc/html/appendix/appendix.incompatible.html 80 API changes]), and other files as necessary. [[br]][[br]] 81 i. Update version number in `build.xml`. Locate and change the below line 40 82 {{{ 41 83 <property name="base.minorversion" value="B" /> 42 84 }}} 43 i. Update [source:trunk/credits.txt credits.txt]. Remember, ego and vanity is the currency of open85 i. Update `credits.txt`. Remember, ego and vanity is the currency of open 44 86 source projects. Well, there are other reasons for open source 45 projects but [source:trunk/credits.txt credits.txt]is for boosting peoples' ego. [[br]][[br]]87 projects but `credits.txt` is for boosting peoples' ego. [[br]][[br]] 46 88 i. Make sure that the API incompatibility list is up to date 47 89 [http://base.thep.lu.se/chrome/site/doc/html/appendix/appendix.incompatible.html API changes]. … … 54 96 1. Update copyright statements with the below command. Make sure that you do not break file 55 97 encodings such as UTF-8 and what not. One example, do not use non-US characters for developer 56 names in the source:trunk/.svndigest/configfile.98 names in the `.svndigest/config` file. 57 99 {{{ 58 100 ./bin/svndigest --copyright --no-report … … 64 106 package, and perform all other release tests you think is 65 107 appropriate: 66 {{{ 67 Please add test command sequence here 68 }}} 69 If you fail in this step, please resolve the issues and restart these procedures. [[br]][[br]] 108 i. Create an empty test database 109 i. Setup 'base.config' for the tests. 110 i. Perform the following sequence of commands 111 {{{ 112 ant test 113 cd build/test 114 ./run.sh TestAll -s 115 }}} 116 The `-s` option above will generate less output from the test 117 program. 118 If you fail in this step, please resolve the issues and restart these procedures. [[br]][[br]] 70 119 1. Create a tag using a one liner like 71 120 {{{ 72 svn copy http://lev.thep.lu.se/repository/base/ trunk\121 svn copy http://lev.thep.lu.se/repository/base/branches/A.B-stable \ 73 122 http://lev.thep.lu.se/repository/base/tags/A.B \ 74 123 -m "Tagging version A.B" … … 103 152 i. Commit changes to the repository, 104 153 `svn ci -m "Changes for future release A.B.1"` [[br]][[br]] 105 1. Prepare the trunk for the next minor release [[br]][[br]]106 i. Update version number in `build.xml`. Locate and change the107 below line108 {{{109 <property name="base.minorversion" value="B+1" />110 }}}111 i. Commit changes to the repository,112 `svn ci -m "Changes for future release A.[B+1]"` [[br]][[br]]113 154 1. Update DownloadPage [[br]][[br]] 114 155 i. Update the section '''Latest stable release''' to reflect the new … … 221 262 svn checkout http://lev.thep.lu.se/repository/base/trunk trunk_merge 222 263 }}} 223 i. Merge changes into trunk. In this example the diffe nce between a264 i. Merge changes into trunk. In this example the difference between a 224 265 minor release tag and the first patch release tag is merged into 225 266 the trunk WC … … 236 277 svn commit -m "Merged patch release A.B.1 to the trunk. Delta A.B.1 - A.B" 237 278 }}} 238 1. ''Performing this step is to ac nkowledge that the merge has been performed.'' [[br]]279 1. ''Performing this step is to acknowledge that the merge has been performed.'' [[br]] 239 280 Close the milestone associated with the release and replace `head` with appropriate 240 281 revision in log link. Add a new milestone as needed (with an associated log link like