Differences between revisions 1 and 16 (spanning 15 versions)
Revision 1 as of 2007-12-14 12:41:55
Size: 1192
Comment:
Revision 16 as of 2010-05-03 14:21:37
Size: 3910
Comment:
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
Line 6: Line 5:
Line 15: Line 13:
Line 18: Line 15:
Phase 3.  * The procedures for running the release test are described elsewhere
Phase 3. Actual release
Line 20: Line 18:
 * Update dk.netarkivet.common.Constants.BUILDSTATUS to RELEASE
 * Commit the file to SVN
 * Build release packages. It is important to do this '''on a clean checkout'''
{{{
  svn --username=user co https://gforge.statsbiblioteket.dk/svn/netarchivesuite/trunk netarchivesuite
  cd netarchivesuite
  ant sourcezipball
  ant releasezipball
}}}
 * Copy the javadoc to the webserver (requires privileges to make a secure-copy to sb-prod-net-001.statsbiblioteket.dk. Thus we need to do this operation from sb-test-acs-001.statsbiblioteket.dk as user 'netarkiv'):
{{{
  scp -r docs/apidocs nswiki@sb-prod-net-001.statsbiblioteket.dk:/var/www/html/apidocs/3.3.3
}}}
 * Rename the binary package to include version name, e.g. mv !NetarchiveSuite.zip !NetarchiveSuite-3.3.3.zip
 * Rename the source package to include version name, e.g. mv !NetarchiveSuite-src.zip !NetarchiveSuite-3.3.3-src.zip
 * Add the release to GForge by going to Files->Admin and choose 'Add release'. Fill out the version number
 * Add the two files to the release.
 * On http://netarchive.dk/suite/Release_Overview move the last release to http://netarchive.dk/suite/ReleaseArchive
 * Add the new release on http://netarchive.dk/suite/Release_Overview
 * Write release notes for the release.
 * Add to News on wiki
 * Send email to netarchivesuite-announce including major features and link to release notes.
Phase 4. End of codefreeze

 * Update dk.netarkivet.common.Constants.PATCHVERSION version number with one minor version
 * Set BUILDSTATUS to UNSTABLE
 * commit file.
 * Send end-of-codefree mail to netarchivesuite-devel
Line 21: Line 47:
Basically you need to do the same as when doing a development release, with the following changes and exceptions:
Line 22: Line 49:
Basically you need to do the same as when doing a development release, with the following changes and exceptions:  * Different version numbers - ONLY in phase 3 when setting the BUILDSTATUS, increase MINORVERSION with 1 and set PATCHVERSION to 0
 * Documentation needs to be moved - See [:Maintaining Documentation:Maintaining_Documentation] under "Making a snapshot"
 * Before ending code freeze, build an SVN package for PROD.
== Stable patch release ==
 * First fix the bug in the trunk. Make sure the patch is reviewed
 * Create a patch
{{{
svn diff -r {{patchcommitno-1}}:{{patchcommitno-1}} > fix.patch
}}}
 * Check out the production branch
{{{
  svn checkout --username={{XXX}} https://gforge.statsbiblioteket.dk/svn/netarchivesuite/branches/3.4.0
}}}
 * Open {{{dk.netarkivet.common.Constants}}}
 * Increase the patch number (for instance 3.4.1 to 3.4.2) and set development status to unstable
 * Commit
 * Apply the patch
{{{
patch -p 0 < fix.patch
}}}
 * Commit
 * Review + followup
 * Update the development status to codefreeze
 * Do release test
 * Follow procedures for release as above

Release Procedures

This checklist should help build a release, and make it available for the public. It is the responsible of the QA to have the release done.

Development release

Phase 1. Initiate code freeze

  • Ensure all committed code since last release is reviewed. Simply go through each commit, and check in the review table that this commit is reviewed.
  • Ensure all bugs since last release have been evaluated not to block release. Simply go through each bug and check if it has been evaluated.
  • Ensure all fixed bugs can be set to status CLOSED. A bug can be set to closed if it has been fixed and reviewed, and has the needed unit tests to verify it is fixed.
  • Update dk.netarkivet.common.Constants.BUILDSTATUS to CODEFREEZE
  • Commit file to SVN
  • Send mail to netarchivesuite-users mailing list about state of code. The mail should contain guidelines to what is allowed and expected during code freeze, and a brief list of important features of the upcoming release.

Phase 2. Release test

  • The procedures for running the release test are described elsewhere

Phase 3. Actual release

  • Update dk.netarkivet.common.Constants.BUILDSTATUS to RELEASE
  • Commit the file to SVN
  • Build release packages. It is important to do this on a clean checkout

  svn --username=user co https://gforge.statsbiblioteket.dk/svn/netarchivesuite/trunk netarchivesuite
  cd netarchivesuite
  ant sourcezipball
  ant releasezipball
  • Copy the javadoc to the webserver (requires privileges to make a secure-copy to sb-prod-net-001.statsbiblioteket.dk. Thus we need to do this operation from sb-test-acs-001.statsbiblioteket.dk as user 'netarkiv'):

  scp -r docs/apidocs nswiki@sb-prod-net-001.statsbiblioteket.dk:/var/www/html/apidocs/3.3.3
  • Rename the binary package to include version name, e.g. mv NetarchiveSuite.zip NetarchiveSuite-3.3.3.zip

  • Rename the source package to include version name, e.g. mv NetarchiveSuite-src.zip NetarchiveSuite-3.3.3-src.zip

  • Add the release to GForge by going to Files->Admin and choose 'Add release'. Fill out the version number

  • Add the two files to the release.
  • On http://netarchive.dk/suite/Release_Overview move the last release to http://netarchive.dk/suite/ReleaseArchive

  • Add the new release on http://netarchive.dk/suite/Release_Overview

  • Write release notes for the release.
  • Add to News on wiki
  • Send email to netarchivesuite-announce including major features and link to release notes.

Phase 4. End of codefreeze

  • Update dk.netarkivet.common.Constants.PATCHVERSION version number with one minor version
  • Set BUILDSTATUS to UNSTABLE
  • commit file.
  • Send end-of-codefree mail to netarchivesuite-devel

Stable release

Basically you need to do the same as when doing a development release, with the following changes and exceptions:

  • Different version numbers - ONLY in phase 3 when setting the BUILDSTATUS, increase MINORVERSION with 1 and set PATCHVERSION to 0
  • Documentation needs to be moved - See [:Maintaining Documentation:Maintaining_Documentation] under "Making a snapshot"

  • Before ending code freeze, build an SVN package for PROD.

Stable patch release

  • First fix the bug in the trunk. Make sure the patch is reviewed
  • Create a patch

svn diff -r {{patchcommitno-1}}:{{patchcommitno-1}} > fix.patch
  • Check out the production branch

  svn checkout --username={{XXX}} https://gforge.statsbiblioteket.dk/svn/netarchivesuite/branches/3.4.0
  • Open dk.netarkivet.common.Constants

  • Increase the patch number (for instance 3.4.1 to 3.4.2) and set development status to unstable
  • Commit
  • Apply the patch

patch -p 0 < fix.patch
  • Commit
  • Review + followup
  • Update the development status to codefreeze
  • Do release test
  • Follow procedures for release as above

ReleaseProcedures (last edited 2011-11-28 12:19:44 by MikisSethSorensen)