Changes between Version 45 and Version 46 of ReleaseProcedure


Ignore:
Timestamp:
Apr 27, 2008, 7:52:39 PM (13 years ago)
Author:
Peter Johansson
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ReleaseProcedure

    v45 v46  
    4545    -m "New minor version A.B branch"
    4646}}}
    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
     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
    5050{{{
    5151m4_define([MINOR_VERSION], [B+1])
     
    5656}}}
    5757     The date is set when version A.[B+1] is released. [[br]][[br]]
    58   i. Add an entry in `ChangeLog`
     58  1. Add an entry in `ChangeLog`
    5959{{{
    6060version A.[B+1]:
     
    6464  i. Update version number in README. Locate and change line
    6565{{{
    66 This directory contains the A.B release of svndigest`
     66This directory contains the A.[B+1] release of svndigest`
    6767}}}
    6868  i. Commit changes to the repository,
     
    7070
    7171=== Rolling a minor release ===
     72
     73  For this procedure to work as expected, no other developers should commit to the repository,
     74  during the process of release. Communicate with co-developers!
    7275
    7376  1. Make sure that all commits are performed into to the trunk, such
     
    98101     where M should be current HEAD+2 (1 or 2 more commits are needed before release).
    99102     [[br]][[br]]
    100   i. Commit changes to the repository, `svn ci -m "Preparing release A.B"`
    101      [[br]][[br]]
    102  1. Update copyright statements with commands
     103  i. Commit changes to the repository
     104{{{
     105svn ci -m "Preparing release A.B"
     106}}}
     107  1. Update copyright statements with commands
    103108{{{
    104109autoreconf -m
     
    106111./bin/svndigest --copyright --no-report -v
    107112}}}
    108  Examine the updates and commit changes with `svn ci -m "updating copyright statements"`[[br]][[br]]
    109  1. Needless to say, make sure that the program is in a state to be
    110     released; make sure that all the tests pass, test the distribution
    111     package, and perform all other release tests you think is
    112     appropriate:[[br]][[br]]
    113     Remove all unversioned files using
     113  Examine the updates and commit changes with `svn ci -m "updating copyright statements"`[[br]][[br]]
     114  1. Needless to say, make sure that the program is in a state to be
     115     released; make sure that all the tests pass, test the distribution
     116     package, and perform all other release tests you think is
     117     appropriate:[[br]][[br]]
     118     Remove all unversioned files using
    114119{{{
    115120svn-clean
    116121}}}
    117     Check that remove was complete and that wc is up to date
     122     Check that remove was complete and that wc is up to date
    118123{{{
    119124svn status -u
    120125}}}
    121     which should display nothing. Build and test the package
     126     which should display nothing. Build and test the package
    122127{{{
    123128./bootstrap && ./configure && make && make check && make distcheck
    124129}}}
    125     If everything is ok, attach the new package to the DownloadPage, else start over.[[br]][[br]]
     130     If everything is ok, attach the new package to the DownloadPage, else start over.[[br]][[br]]
    126131  1. Create a tag, but first check that you are synchronized with repository
    127132{{{
     
    134139    -m "Tagging version A.B"
    135140}}}
    136  1. Update the version list in Trac using the
    137     [http://trac.thep.lu.se/svndigest/admin/ticket/versions trac-admin tool].
    138     Remember to set the date [[br]][[br]]
    139  1. Update DownloadPage and [wiki:WikiStart WikiStart][[br]][[br]]
    140   i. Update the section '''Latest stable release''' to reflect the new
    141      version, that is [[br]][[br]]
    142    * Change the version number [[br]][[br]]
    143    * Update the package link to the new version [[br]][[br]]
    144    * Update link to NEWS file to `source:tags/A.B/NEWS` [[br]][[br]]
    145   i. In section '''svndigest ''latest release'' ''' update link to
    146      `[source:tags/A.B/NEWS NEWS]` and modify the svn commands to
     141  1. Update the version list in Trac using the
     142     [http://trac.thep.lu.se/svndigest/admin/ticket/versions trac-admin tool].
     143     Remember to set the date [[br]][[br]]
     144  1. Update DownloadPage and [wiki:WikiStart WikiStart][[br]][[br]]
     145   i. Update the section '''Latest stable release''' to reflect the new
     146      version, that is [[br]][[br]]
     147    * Change the version number [[br]][[br]]
     148    * Update the package link to the new version [[br]][[br]]
     149    * Update link to NEWS file to `source:tags/A.B/NEWS` [[br]][[br]]
     150   i. In section '''svndigest ''latest release'' ''' update link to
     151      `[source:tags/A.B/NEWS NEWS]` and modify the svn commands to
    147152{{{
    148153svn checkout http://lev.thep.lu.se/repository/svndigest/tags/A.B svndigest-A.B
     
    151156svn switch http://lev.thep.lu.se/repository/svndigest/tags/A.B
    152157}}}
    153   i. In section '''svndigest ''stable'' ''' update link to
    154      `[milestone:"svndigest A.B.1" A.B.1]` and modify the svn commands to
     158   i. In section '''svndigest ''stable'' ''' update link to
     159      `[milestone:"svndigest A.B.1" A.B.1]` and modify the svn commands to
    155160{{{
    156161svn checkout http://lev.thep.lu.se/repository/svndigest/branches/A.B-stable svndigest-A.B
     
    159164svn switch http://lev.thep.lu.se/repository/svndigest/branches/A.B-stable
    160165}}}
    161   i. In section '''svndigest ''devel'' ''' update link to `[milestone:"svndigest A.B+1" A.B+1]`.[[br]][[br]]
    162   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]]
    163  1. Prepare the minor branch for the first patch release [[br]][[br]]
    164   i. Go to release branch directory
     166   i. In section '''svndigest ''devel'' ''' update link to `[milestone:"svndigest A.B+1" A.B+1]`.[[br]][[br]]
     167   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]]
     168  1. Prepare the minor branch for the first patch release [[br]][[br]]
     169   i. Go to release branch directory
    165170{{{
    166171cd path/to/svndigest-stable-branch/
    167172}}}
    168   i. Update version number in `configure.ac`. Locate and change the
    169      below line
     173   i. Update version number in `configure.ac`. Locate and change the
     174      below line
    170175{{{
    171176m4_define([PATCH_VERSION], [1])
    172 m4_define([DEV_BUILD], [true])
    173 }}}
    174   i. Add an entry in `NEWS`
     177m4_define([SVNDIGEST_DEV_BUILD], [true])
     178}}}
     179   i. Add an entry in `NEWS`
    175180{{{
    176181version A.B.1 (released DATE)
    177182}}}
    178      The date is set when version A.B.1 is released. [[br]][[br]]
    179   i. Add an entry in `ChangeLog`
     183      The date is set when version A.B.1 is released. [[br]][[br]]
     184   i. Add an entry in `ChangeLog`
    180185{{{
    181186version A.B.1:
     
    183188        - http://trac.thep.lu.se/svndigest/query?milestone=A.B.1&order=id
    184189}}}
    185   i. Commit changes to the repository,
    186      `svn ci -m "Changes for future release A.B.1"` [[br]][[br]]
    187  1. Close the [http://trac.thep.lu.se/svndigest/roadmap milestone]
     190   i. Commit changes to the repository,
     191      `svn ci -m "Changes for future release A.B.1"` [[br]][[br]]
     192  1. Close the [http://trac.thep.lu.se/svndigest/roadmap milestone]
    188193    associated with the release and replace `head` with appropriate revision. Add a new milestone as needed (with log link).
    189194
     
    193198This section describes what to do when publishing a patch release A.B.C.
    194199
    195  1. Make sure that all commits are performed into to the branch, such
    196     as bumping version number(s) (`version.m4`), acknowledge
    197     contributions (`THANKS`), update files `NEWS` and
    198     `ChangeLog`. [[br]][[br]]
    199   i. Update version number in `configure.ac`. Locate and change the
    200      below line
    201 {{{
    202 m4_define([DEV_BUILD], [false])
    203 }}}
    204   i. Update `THANKS`. [[br]][[br]]
    205   i. Set the date for the new release in `NEWS`
     200  1. Make sure that all commits are performed into to the branch, such
     201     as bumping version number(s) (`version.m4`), acknowledge
     202     contributions (`THANKS`), update files `NEWS` and
     203     `ChangeLog`. [[br]][[br]]
     204   i. Update version number in `configure.ac`. Locate and change the
     205      below line
     206{{{
     207m4_define([SVNDIGEST_DEV_BUILD], [false])
     208}}}
     209   i. Update `THANKS`. [[br]][[br]]
     210   i. Set the date for the new release in `NEWS`
    206211{{{
    207212version A.B.C (released 27 June 2007)
    208213}}}
    209     Make sure that the items in `NEWS` cover all important bug fixes of the
    210     release. [[br]][[br]]
     214     Make sure that the items in `NEWS` cover all important bug fixes of the
     215     release. [[br]][[br]]
    211216  i. Finalize the links to trac in `ChangeLog`
    212217{{{
     
    223228  i. Commit changes to the repository, `svn ci -m "Preparing release A.B.C"`
    224229     [[br]][[br]]
    225  1. Update copyright statements with commands[[br]][[br]]
     230  1. Update copyright statements with commands[[br]][[br]]
    226231{{{
    227232autoreconf -m
     
    230235}}}
    231236    Examine the updates and commit changes with `svn ci -m "updating copyright statements"`.[[br]][[br]]
    232  1. Needless to say, make sure that the program is in a state to be
    233     released; make sure that all the tests pass, test the distribution
    234     package, and perform all other release tests you think is
    235     appropriate:[[br]][[br]]
    236     Remove all unversioned files using
     237  1. Needless to say, make sure that the program is in a state to be
     238     released; make sure that all the tests pass, test the distribution
     239     package, and perform all other release tests you think is
     240     appropriate:[[br]][[br]]
     241     Remove all unversioned files using
    237242{{{
    238243svn-clean
    239244}}}
    240     Check that remove was complete and that wc is up to date
     245     Check that remove was complete and that wc is up to date
    241246{{{
    242247svn status -u
    243248}}}
    244     which should display nothing. Build and test the package
     249     which should display nothing. Build and test the package
    245250{{{
    246251./bootstrap && ./configure && make && make check && make distcheck
    247252}}}
    248     If everything is ok, attach the new package to the DownloadPage, else start over.[[br]][[br]]
    249  1. Create a tag using a one liner like
     253     If everything is ok, attach the new package to the DownloadPage, else start over.[[br]][[br]]
     254  1. Create a tag using a one liner like
    250255{{{
    251256svn copy http://lev.thep.lu.se/repository/svndigest/branches/A.B-stable \
     
    253258    -m "Tagging version A.B.C"
    254259}}}
    255  1. Update the version list in Trac using the
     260  1. Update the version list in Trac using the
    256261    [http://trac.thep.lu.se/svndigest/admin/ticket/versions trac-admin tool].
    257262    Remember to set the date [[br]][[br]]
    258  1. Update DownloadPage and [wiki:WikiStart WikiStart][[br]][[br]]
     263  1. Update DownloadPage and [wiki:WikiStart WikiStart][[br]][[br]]
    259264  i. Update the section '''Latest stable release''' to reflect the new
    260265     version, that is [[br]][[br]]
     
    273278     `[milestone:"svndigest A.B.[C+1]" A.B.[C+1]]`.[[br]][[br]]
    274279  i. On WikiStart update reference to explicit latest version number, and links `[source:tags/A.B/doc/readme.txt Manual]`, `[source:tags/A.B/NEWS NEWS]`, and `[source:tags/A.B/INSTALL Install]`.[[br]][[br]]
    275  1. Prepare the minor branch for the next patch release [[br]][[br]]
    276   i. Update version number in `configure.ac`. Locate and change the
    277      below line
     280  1. Prepare the minor branch for the next patch release [[br]][[br]]
     281   i. Update version number in `configure.ac`. Locate and change the
     282      below line
    278283{{{
    279284m4_define([PATCH_VERSION], [C+1])
    280 m4_define([DEV_BUILD], [true])
    281 }}}
    282   i. Add an entry in `NEWS`
     285m4_define([SVNDIGEST_DEV_BUILD], [true])
     286}}}
     287   i. Add an entry in `NEWS`
    283288{{{
    284289version A.B.[C+1] (released DATE)
    285290}}}
    286      The date is set when version A.B.[C+1] is released. [[br]][[br]]
    287   i. Add an entry in `ChangeLog`
     291      The date is set when version A.B.[C+1] is released. [[br]][[br]]
     292   i. Add an entry in `ChangeLog`
    288293{{{
    289294version A.B.[C+1]:
     
    291296        - http://trac.thep.lu.se/svndigest/query?milestone=A.B.[C+1]&order=id
    292297}}}
    293   i. Commit changes to the repository,
    294      `svn ci -m "Changes for future release A.B.[C+1]"` [[br]][[br]]
    295  1. Merge the patch release into the trunk. To avoid confusion and
    296     minimize the risk of loosing fixes, this step is only performed by
    297     the Merge Master. [[br]][[br]]
    298   i. Checkout a pristine version of the trunk.
     298   i. Commit changes to the repository,
     299      `svn ci -m "Changes for future release A.B.[C+1]"` [[br]][[br]]
     300  1. Merge the patch release into the trunk. To avoid confusion and
     301     minimize the risk of loosing fixes, this step is only performed by
     302     the Merge Master. [[br]][[br]]
     303   i. Checkout a pristine version of the trunk.
    299304{{{
    300305svn checkout http://lev.thep.lu.se/repository/svndigest/trunk trunk_merge
    301306}}}
    302   i. Merge changes into trunk. In this example the diffence between a
    303      minor release tag and the first patch release tag is merged into
    304      the trunk WC
     307   i. Merge changes into trunk. In this example the diffence between a
     308      minor release tag and the first patch release tag is merged into
     309      the trunk WC
    305310{{{
    306311cd trunk_merge
     
    308313          http://lev.thep.lu.se/repository/svndigest/tags/A.B.1
    309314}}}
    310   i. Resolve all conflicts. Run tests and perform all other
    311      appropriate tests to make sure that the merge does not create
    312      havoc. [[br]][[br]]
    313   i. Commit changes to the trunk branch.
     315   i. Resolve all conflicts. Run tests and perform all other
     316      appropriate tests to make sure that the merge does not create
     317      havoc. [[br]][[br]]
     318   i. Commit changes to the trunk branch.
    314319{{{
    315320svn commit -m "Merged patch release A.B.1 to the trunk. Delta A.B.1 - A.B"
    316321}}}
    317  1. Close the milestone associated with the release and replace `head` with appropriate revision in log link. Add a new
    318     milestone as needed (with a log link).
     322  1. Close the milestone associated with the release and replace `head` with appropriate revision in log link. Add a new
     323     milestone as needed (with a log link).