Changes between Version 43 and Version 44 of ReleaseProcedure


Ignore:
Timestamp:
Apr 27, 2008, 6:19:49 PM (13 years ago)
Author:
Peter Johansson
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ReleaseProcedure

    v43 v44  
    3030This section describes what to do when publishing a minor release.
    3131
    32  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]),
     32=== Creating a release branch ===
     33
     34Once people agree that a new release branch should be made, the Release Manager creates it with the following procedure (substitute A.B with the version you are preparing):
     35
     36  1. Update copyright statements with commands
     37{{{
     38make && make check
     39./bin/svndigest --copyright --no-report -v
     40}}}
     41  2. Create a new release branch using a one liner like
     42{{{
     43svn copy http://lev.thep.lu.se/repository/svndigest/trunk \
     44    http://lev.thep.lu.se/repository/svndigest/branches/A.B-stable \
     45    -m "New minor version A.B branch"
     46}}}
     47 1. Prepare the trunk for the next minor release [[br]][[br]]
     48  i. Update version number in `build_support/version.m4`. Locate and change the
     49     below line
     50{{{
     51m4_define([MINOR_VERSION], [B+1])
     52}}}
     53  i. Add an entry in `NEWS`
     54{{{
     55version A.[B+1] (released DATE)
     56}}}
     57     The date is set when version A.[B+1] is released. [[br]][[br]]
     58  i. Add an entry in `ChangeLog`
     59{{{
     60version A.[B+1]:
     61        - http://trac.thep.lu.se/svndigest/log/branches/A.B-stable?rev=HEAD&stop_rev=M+1
     62        - http://trac.thep.lu.se/svndigest/query?milestone=A.[B+1]&order=id
     63}}}
     64  i. Commit changes to the repository,
     65     `svn ci -m "Changes for future release A.[B+1]"` [[br]][[br]]
     66  i. Update version number in README. Locate and change line
     67{{{
     68This directory contains the A.B release of svndigest`
     69}}}
     70
     71=== Rolling a minor release ===
     72
     73  1. Make sure that all commits are performed into to the trunk, such
     74    as bumping version number(s) ([source:trunk/build_support/version.m4 version.m4]),
    3475    acknowledge contributions ([source:trunk/THANKS THANKS]), update
    3576    files [source:trunk/NEWS NEWS] and [source:trunk/ChangeLog ChangeLog].
    3677    [[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])
     78  i. Update version number in [source:trunk/build_support/version.m4 version.m4]. Locate and change the
     79     below line
     80{{{
     81m4_define([SVNDIGEST_DEV_BUILD], [false])
    4182}}}
    4283  i. Update [source:trunk/THANKS THANKS]. Remember, ego and vanity is the currency of open
     
    5596        - http://trac.thep.lu.se/svndigest/query?milestone=A.B&order=id
    5697}}}
    57      where M should be current HEAD+2 (2 more commits are needed before release).
     98     where M should be current HEAD+2 (1 or 2 more commits are needed before release).
    5899     [[br]][[br]]
    59100  i. Commit changes to the repository, `svn ci -m "Preparing release A.B"`
     
    63104autoreconf -m
    64105make check
    65 ./bin/svndigest --copyright --no-report
     106./bin/svndigest --copyright --no-report -v
    66107}}}
    67108 Examine the updates and commit changes with `svn ci -m "updating copyright statements"`[[br]][[br]]
     
    69110    released; make sure that all the tests pass, test the distribution
    70111    package, and perform all other release tests you think is
    71     appropriate:
    72 {{{
    73 autoreconf -m
    74 make check
    75 make distcheck
    76 }}}
    77  1. Create a tag using a one liner like
    78 {{{
    79 svn copy http://lev.thep.lu.se/repository/svndigest/trunk \
     112    appropriate:[[br]][[br]]
     113    Remove all unversioned files using
     114{{{
     115svn-clean
     116}}}
     117    Check that remove was complete and that wc is up to date
     118{{{
     119svn status -u
     120}}}
     121    which should display nothing. Build and test the package
     122{{{
     123./bootstrap && ./configure && make && make check && make distcheck
     124}}}
     125    If everything is ok, attach the new package to the DownloadPage, else start over.[[br]][[br]]
     126  1. Create a tag, but first check that you are synchronized with repository
     127{{{
     128svn status -q -u
     129}}}
     130  and then create a tag using a one liner like
     131{{{
     132svn copy http://lev.thep.lu.se/repository/svndigest/branches/A.B-stable \
    80133    http://lev.thep.lu.se/repository/svndigest/tags/A.B \
    81134    -m "Tagging version A.B"
     
    84137    [http://trac.thep.lu.se/svndigest/admin/ticket/versions trac-admin tool].
    85138    Remember to set the date [[br]][[br]]
    86  1. Create a distribution package:
    87 {{{
    88 svn co http://lev.thep.lu.se/repository/svndigest/tags/A.B A.B_dist
    89 cd A.B_dist
    90 ./bootstrap
    91 ./configure [OPTION]...
    92 make dist
    93 }}}
    94     Attach the new package to the DownloadPage.  Remove `A.B_dist`
    95     directory. [[br]][[br]]
    96139 1. Update DownloadPage and [wiki:WikiStart WikiStart][[br]][[br]]
    97140  i. Update the section '''Latest stable release''' to reflect the new
     
    118161  i. In section '''svndigest ''devel'' ''' update link to `[milestone:"svndigest A.B+1" A.B+1]`.[[br]][[br]]
    119162  i. On WikiStart update links `[source:tags/A.B/doc/readme.txt Manual]`, `[source:tags/A.B/NEWS NEWS]`, and `[source:tags/A.B/README README]`.[[br]][[br]]
    120  1. Create a new minor branch using a one liner like
    121 {{{
    122 svn copy http://lev.thep.lu.se/repository/svndigest/tags/A.B \
    123     http://lev.thep.lu.se/repository/svndigest/branches/A.B-stable \
    124     -m "New minor version A.B branch"
    125 }}}
    126163 1. Prepare the minor branch for the first patch release [[br]][[br]]
    127   i. Check out the new minor branch
    128 {{{
    129 svn co http://lev.thep.lu.se/repository/svndigest/branches/A.B-stable A.B
     164  i. Go to release branch directory
     165{{{
     166cd path/to/svndigest-stable-branch/
    130167}}}
    131168  i. Update version number in `configure.ac`. Locate and change the
    132169     below line
    133170{{{
    134 AC_INIT([svndigest],[preA.B.1],[jari.at.thep.lu.se])
     171m4_define([PATCH_VERSION], [1])
     172m4_define([DEV_BUILD], [true])
    135173}}}
    136174  i. Add an entry in `NEWS`
     
    147185  i. Commit changes to the repository,
    148186     `svn ci -m "Changes for future release A.B.1"` [[br]][[br]]
    149  1. Prepare the trunk for the next minor release [[br]][[br]]
    150   i. Update version number in `configure.ac`. Locate and change the
    151      below line
    152 {{{
    153 AC_INIT([svndigest],[preA.[B+1]],[jari.at.thep.lu.se])
    154 }}}
    155   i. Add an entry in `NEWS`
    156 {{{
    157 version A.[B+1] (released DATE)
    158 }}}
    159      The date is set when version A.[B+1] is released. [[br]][[br]]
    160   i. Add an entry in `ChangeLog`
    161 {{{
    162 version A.[B+1]:
    163         - http://trac.thep.lu.se/svndigest/log/trunk?rev=HEAD&stop_rev=M+1
    164         - http://trac.thep.lu.se/svndigest/query?milestone=A.[B+1]&order=id
    165 }}}
    166   i. Update version number in line `This directory contains the A.B release of svndigest`
    167   i. Commit changes to the repository,
    168      `svn ci -m "Changes for future release A.[B+1]"` [[br]][[br]]
    169187 1. Close the [http://trac.thep.lu.se/svndigest/roadmap milestone]
    170188    associated with the release and replace `head` with appropriate revision. Add a new milestone as needed (with log link).
    171189
    172190
    173 
    174191== Patch release procedure ==
    175192
     
    177194
    178195 1. Make sure that all commits are performed into to the branch, such
    179     as bumping version number(s) (`configure.ac`), acknowledge
     196    as bumping version number(s) (`version.m4`), acknowledge
    180197    contributions (`THANKS`), update files `NEWS` and
    181198    `ChangeLog`. [[br]][[br]]
     
    183200     below line
    184201{{{
    185 AC_INIT([svndigest],[A.B.C],[jari.at.thep.lu.se])
     202m4_define([DEV_BUILD], [false])
    186203}}}
    187204  i. Update `THANKS`. [[br]][[br]]
     
    206223  i. Commit changes to the repository, `svn ci -m "Preparing release A.B.C"`
    207224     [[br]][[br]]
    208  1. Update copyright statements with commands
     225 1. Update copyright statements with commands[[br]][[br]]
    209226{{{
    210227autoreconf -m
    211228make check
    212 ./bin/svndigest --copyright
    213 }}}
    214  Examine the updates and commit changes with `svn ci -m "updating copyright statements"`.[[br]][[br]]
     229./bin/svndigest --copyright --no-report -v
     230}}}
     231    Examine the updates and commit changes with `svn ci -m "updating copyright statements"`.[[br]][[br]]
    215232 1. Needless to say, make sure that the program is in a state to be
    216233    released; make sure that all the tests pass, test the distribution
    217234    package, and perform all other release tests you think is
    218     appropriate:
    219 {{{
    220 autoreconf -m
    221 make check
    222 make distcheck
    223 }}}
     235    appropriate:[[br]][[br]]
     236    Remove all unversioned files using
     237{{{
     238svn-clean
     239}}}
     240    Check that remove was complete and that wc is up to date
     241{{{
     242svn status -u
     243}}}
     244    which should display nothing. Build and test the package
     245{{{
     246./bootstrap && ./configure && make && make check && make distcheck
     247}}}
     248    If everything is ok, attach the new package to the DownloadPage, else start over.[[br]][[br]]
    224249 1. Create a tag using a one liner like
    225250{{{
     
    231256    [http://trac.thep.lu.se/svndigest/admin/ticket/versions trac-admin tool].
    232257    Remember to set the date [[br]][[br]]
    233  1. Create a distribution package:
    234 {{{
    235 svn co http://lev.thep.lu.se/repository/svndigest/tags/A.B.C A.B.C_dist
    236 cd A.B.C_dist
    237 ./bootstrap
    238 ./configure [OPTION]...
    239 make dist
    240 }}}
    241     Attach the new package to the DownloadPage. Remove `A.B.C_dist`
    242     directory. [[br]][[br]]
    243258 1. Update DownloadPage and [wiki:WikiStart WikiStart][[br]][[br]]
    244259  i. Update the section '''Latest stable release''' to reflect the new
     
    262277     below line
    263278{{{
    264 AC_INIT([svndigest],[preA.B.[C+1]],[jari.at.thep.lu.se])
     279m4_define([PATCH_VERSION], [C+1])
     280m4_define([DEV_BUILD], [true])
    265281}}}
    266282  i. Add an entry in `NEWS`