Changes between Version 1 and Version 2 of ReleaseProcedure


Ignore:
Timestamp:
Aug 15, 2007, 12:37:30 PM (15 years ago)
Author:
Jari Häkkinen
Comment:

Working on the release procedure. Refs ticket:656

Legend:

Unmodified
Added
Removed
Modified
  • ReleaseProcedure

    v1 v2  
    55These instructions cover how to release minor and patch releases in a
    66project 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
     7management. How to release major releases is not covered yet. Release
    98numbering follows the normal convention of major.minor.patch and the
    109APR (see http://apr.apache.org/versioning.html) guidelines for
     
    1817every time a new patch release is made. Remember, patch work should be
    1918limited to bug fixes and important fixes only leaving development of
    20 new features and designs to the trunk branch.
     19new features and designs to the trunk branch, or other special branches.
    2120
    2221Releases should only be performed by an appointed member of the team,
     
    3130
    3231 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.
    3637    [[br]][[br]]
    37   i. Update version number in [source:trunk/configure.ac configure.ac]. Locate and change the
    38      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 open
     38  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
    4344     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.
    5952  i. Commit changes to the repository, `svn ci -m "Preparing release A.B"`
    6053     [[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{{{
    6656./bin/svndigest --copyright
    6757}}}
    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]]
    6960 1. Needless to say, make sure that the program is in a state to be
    7061    released; make sure that all the tests pass, test the distribution
     
    7263    appropriate:
    7364{{{
    74 ./bootstrap
    75 make check
    76 make distcheck
    77 }}}
     65Please add test command sequence here
     66}}}
     67    If you fail in this step, please resolve the issues and restart these procedures. [[br]][[br]]
    7868 1. Create a tag using a one liner like
    7969{{{
    80 svn copy http://lev.thep.lu.se/repository/svndigest/trunk \
    81     http://lev.thep.lu.se/repository/svndigest/tags/A.B \
     70svn copy http://lev.thep.lu.se/repository/base/trunk \
     71    http://lev.thep.lu.se/repository/base/tags/A.B \
    8272    -m "Tagging version A.B"
    8373}}}
    8474 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].
    8676    [[br]][[br]]
    8777 1. Create a distribution package:
    8878{{{
    89 svn co http://lev.thep.lu.se/repository/svndigest/tags/A.B A.B_dist
     79svn co http://lev.thep.lu.se/repository/base/tags/A.B A.B_dist
    9080cd A.B_dist
    91 ./bootstrap
    92 ./configure [OPTION]...
    93 make dist
     81ant package
    9482}}}
    9583    Attach the new package to the DownloadPage.  Remove `A.B_dist`
     
    115103 1. Create a new minor branch using a one liner like
    116104{{{
    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 \
     105svn copy http://lev.thep.lu.se/repository/base/tags/A.B \
     106    http://lev.thep.lu.se/repository/base/branches/A.B-stable \
    119107    -m "New minor version A.B branch"
    120108}}}
     
    122110  i. Check out the new minor branch
    123111{{{
    124 svn co http://lev.thep.lu.se/repository/svndigest/branches/A.B-stable A.B
    125 }}}
    126   i. Update version number in `configure.ac`. Locate and change the
     112svn 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
    127115     below line
    128116{{{