Differences between revisions 4 and 5
Revision 4 as of 2013-08-01 13:03:53
Size: 3198
Editor: markt
Comment: Fix typo
Revision 5 as of 2013-08-07 06:36:02
Size: 3740
Editor: markt
Comment: Review from kkolinko
Deletions are marked like this. Additions are marked like this.
Line 52: Line 52:
See https://svn.apache.org/repos/asf/tomcat/tc7.0.x/trunk/res/maven/README.txt See https://svn.apache.org/repos/asf/tomcat/tc7.0.x/trunk/res/maven/README.txt steps 1 to 3 (not step 4!)
Line 56: Line 56:
E.g. http://markmail.org/message/gvmbwocspnwb2dfe  * E.g. http://markmail.org/message/gvmbwocspnwb2dfe
 * Increment the version number ready for the next tag (e.g. http://svn.apache.org/viewvc?view=revision&revision=1500094)
Line 61: Line 62:
 * Release the Maven artifacts (https://svn.apache.org/repos/asf/tomcat/tc7.0.x/trunk/res/maven/README.txt step 4)
Line 65: Line 67:
 * Update the release date in the changelog to the date the files were copied to the the release area in yyyy-dd-mm format
 * Add the version number in Bugzilla

== If the vote does not pass ==

 * Update the release date in the changelog to "not released"

Apache Tomcat Release Process

Introduction

This is written primarily for Apache Tomcat release managers although it may also be of interest to anyone looking to validate and/or replicate the release process. This page uses Tomcat 7 as an example but the same process applies to later versions as well. Note that earlier versions have a slightly different, more complex release process.

Pre-requisites

  • A subversion client installed and on your path
  • Apache Ant installed and on your path (see BUILDING.txt in the root of the svn repo for version requirements)
  • The latest release of the minimum Java version that the Tomcat version runs on installed and on your path
  • Windows OS (you can do it on Linux but it involves a lot more hassle)
  • GnuPG installed
  • A public key that is part of the Apache web of trust
  • A reasonable internet connection (you will need to upload ~100MB)

Create the tag

The aim is to create a copy of the current trunk but without the "-dev" appended to the end of the version number.

  • Perform an svn checkout of tc7.0.x/trunk (e.g. to 7.0.x-release)
  • Edit 7.0.x-release/build.properties and change the line version.suffix=-dev to version.suffix=

  • svn cp . https://svn.apache.org/repos/asf/tomcat/tc7.0.x/tags/TOMCAT_7_0_XX

  • Check the diff mailed to the dev list

I found it simplest to keep this checkout with the modified build.properties.default and just do an svn up prior to each tag. I only used the checkout for tagging to ensure no other edits found their way into the tag.

Build the release

  • svn export https://svn.apache.org/repos/asf/tomcat/tc7.0.x/tags/TOMCAT_7_0_XX TOMCAT_7_0_XX

  • Add a build.properties file with the following configuration (adjust paths for your environment)

execute.validate=true

execute.test.bio=true
execute.test.nio=true
execute.test.apr=true

test.haltonfailure=true

gpg.exec=C:/Program Files (x86)/GNU/GnuPG/gpg2.exe

base.path=C:/temp/libs
  • ant release

Notes:

  • GPG should be configured to use your Apache code signing key by default
  • I always ensured c:/temp/libs was empty so that the buildhad to download all the dependencies

Upload the release

Upload the contents of TOMCAT_7_0_XX/output/release to https://dist.apache.org/repos/dist/dev/tomcat/tomcat-7/

Generate the Maven artifacts

See https://svn.apache.org/repos/asf/tomcat/tc7.0.x/trunk/res/maven/README.txt steps 1 to 3 (not step 4!)

Call a vote

If the vote passes

If the vote does not pass

  • Update the release date in the changelog to "not released"

ReleaseProcess (last edited 2014-07-27 13:51:51 by VioletaGeorgieva)