<?xml version="1.0"?>
<document url="./release-checlist.xml">
  <!--
  // ======================================================================== 78
  -->
  <properties>
    <title>Release Checklist - The Apache Struts Web Application Framework</title>
  </properties>
  <body>
  <pre>
      = Struts x.x.x Release =

      == Info ==

       1. Struts [http://struts.apache.org/releases.html#Releases 
          Release Guidelines]
       
       2. [http://nagoya.apache.org/wiki/apachewiki.cgi?SigningReleasesHow 
          Signing Releases]
 
       3. Apache [http://apache.org/dev/mirrors.html Mirroring Guidelines]
       
      == Release Manager ==

      The release manager is '''${RELEASE_MANAGER}'''

      == Special Issues ==

       1. ${ISSUES}

      == Outstanding Bug Review ==

      || '''ID''' || '''Summary''' || '''Component''' || '''Status''' ||
      || ${ID} || ${SUMMARY} || $COMPONENT} || ${STATUS} ||

      == Preparation Checklist ==

      || '''#''' || '''Description''' || '''Status''' ||
      || 1. || ${DESCRIPTION} || ${STATUS} ||
      
      The Commons [http://jakarta.apache.org/commons/releases/prepare.html 
      Preparation Guide] is a helpful preparation backgrounder, but Commons
      uses the "beta/release-candidate/final" process.

      Likewise, the [http://httpd.apache.org/dev/release.html 
      HTTPD Release Guidelines] is a helpful "overall process" backgrounder,
      but HTTPD does not use a test-build stage.

      Dependency versions for this release:

      || '''Dependency''' || '''Version''' || '''Status''' ||
      || ${DEPENDENCY} || ${VERSION} || ${STATUS} ||

      == Testing Checklist ==

      === Testing Summary ===

      || '''#''' || '''Description''' || '''Completed''' ||
      || 1. || Run Unit Test targets  || ${STATUS} ||
      || 2. || Run Cactus Tests (see below) || ${STATUS} ||
      || 3. || Play test bundled applications (TC 4.x) || ${STATUS} ||
      
      TODO: A Canoo WebTest for the applications would be great!

      === Cactus Tests ===

      || '''#''' || '''J2SE Version''' || '''Tomcat Version''' ||  '''Status''' ||
      || 1. || J2SE 1.3.x || Tomcat 4.x || ${STATUS} ||
      || 2. || J2SE 1.4.x || Tomcat 4.x || ${STATUS} ||
      || 3. || J2SE 1.3.x || Tomcat 5.x || ${STATUS} ||
      || 4. || J2SE 1.4.x || Tomcat 5.x || ${STATUS} ||

      == Test Build Checklist (A) ==

      See also Commons [http://jakarta.apache.org/commons/releases/release.html 
      Step-by-Step Guide]

      || '''#''' || '''Description''' || '''Completed''' ||
      || A1. || Tag release in cvs: ${STRUTS_x_x_x} || ${STATUS} ||
      || A2. || Run Distribution Target || ${STATUS} ||
      || A3. || Upload Distribution to cvs.apache.org:/www/cvs.apache.org/dist/struts/x.x.x || ${STATUS} ||
      || A4. || Post release-quality vote on dev@ and user@ lists || ${STATUS ||

      == Vote (A) ==

      || ${PMC_MEMBER} || ${GRADE} ||
      
      If release vote fails, including for a lack of quorum, remove from dist 
      folder.      

      == Point Release Checklist (B) ==

      || B1. || Create Sums and Sign Distributions [2] || ${STATUS} ||
      || B2. || Request new Bugzilla version level (x.x.x) || ${STATUS} ||
      || B3. || Update "Acquiring" page on website and Test Downloads || ${STATUS} ||

      == Vote (B) ==

      || ${PMC_MEMBER} || ${GRADE} ||
      
      Voting continues until a GA or "withdraw" vote passes, or there is a
      subsequent release.

      == General Availability Checklist (C) ==

      || '''#''' || '''Description''' || '''Completed''' ||
      || C1. || Copy Distribution to Mirrored Directories [3] || ${STATUS} ||
      || C2. || Deploy JAR to Apache Java-Repository || ${STATUS} ||
      || C3. || After 24 hours, update "Acquiring" page on website || ${STATUS} ||
      || C4. || Post an announcement to lists and website || ${STATUS} ||
      ----
  </pre>
  </body>
  </document>