Author: psteitz
Date: Sat Apr 3 20:10:46 2010
New Revision: 930571
URL: http://svn.apache.org/viewvc?rev=930571&view=rev
Log:
improved sequencing to ensure correct site is published; added instructions on
maven artifact deployment.
Modified:
commons/proper/commons-site/trunk/src/site/xdoc/releases/release.xml
Modified: commons/proper/commons-site/trunk/src/site/xdoc/releases/release.xml
URL:
http://svn.apache.org/viewvc/commons/proper/commons-site/trunk/src/site/xdoc/releases/release.xml?rev=930571&r1=930570&r2=930571&view=diff
==============================================================================
--- commons/proper/commons-site/trunk/src/site/xdoc/releases/release.xml
(original)
+++ commons/proper/commons-site/trunk/src/site/xdoc/releases/release.xml Sat
Apr 3 20:10:46 2010
@@ -30,7 +30,6 @@
This document gives step-by-step instructions for publishing a release.
These instructions
assume that the component uses <code>Maven</code> to build the site.
</p>
-
<p>
The starting point for this document is that a release candidate created
and a
<code>[VOTE]</code> successfully passed. Guidelines for these
preparations can be
@@ -62,23 +61,20 @@
<p>
On people.apache.org, change directory to the distribution directory for
your component:
<pre>
- cd /www/www.apache.org/dist/commons/foo/
- </pre>
+ cd /www/www.apache.org/dist/commons/foo/ </pre>
</p>
<p>
Move source distributions, their detached signatures and md5 sums into
position.
All source versions live in the source subdirectory.
- </p>
<pre>
- mv ~/public_html/foo-1.2-RC3/commons-foo-1.2-src* source
- </pre>
+ mv ~/public_html/foo-1.2-RC3/commons-foo-1.2-src* source </pre>
+ </p>
<p>
Move the binary distributions, their detached signatures and md5 sums into
position.
All binary versions live in the <em>binaries</em> subdirectory.
- </p>
<pre>
- mv ~/public_html/foo-1.2-RC3/commons-foo-1.2* binaries
- </pre>
+ mv ~/public_html/foo-1.2-RC3/commons-foo-1.2* binaries </pre>
+ </p>
<p>
Double check the permissions for binaries and source distributions.
</p>
@@ -111,8 +107,7 @@
<strong>Update Symbolic Links</strong><br/>
Remove symbolic links to current distributions
<pre>
- rm commons-foo-current*
- </pre>
+ rm commons-foo-current* </pre>
</p>
<p>
Recreate links to current distribution:
@@ -123,8 +118,7 @@
and your path includes your /bin subdirectory. From the top level
distribution directory
(/www/www.apache.org/dist/commons/foo/), execute
<pre>
- symlinks.sh 1.2
- </pre>
+ symlinks.sh 1.2</pre>
</p>
<p>Please test that these links function correctly!</p>
<p>
@@ -148,26 +142,64 @@
</subsection>
<subsection name='3 Deploy Maven Artifacts'>
- <!--
- TODO: improve this section to include recommendation to move to
- org.apache.commons groupId and explain how to edit maven metadata.
- Make sure prepare includes recommendation to install locally with
- mvn -Prc -DcreateChecksum=true install so jars get signed and hashed
- and then copy from there
- -->
- <p>
- Your Maven artifacts (jar and pom files) should be placed in
-
<code>/www/people.apache.org/repo/m2-ibiblio-rsync-repository/commons-foo/commons-foo/1.2/</code>
- on people.apache.org.
- </p>
- <p>
- The updated <code>maven-metadata.xml</code> file should be placed in
-
<code>/www/people.apache.org/repo/m2-ibiblio-rsync-repository/commons-foo/commons-foo/</code>
- on people.apache.org.
- </p>
- <p><strong>N.B.</strong> Ensure you sign files placed in the ASF Java
Respository.
- The following script can help with this if it didn't happen during the
preparation:
- <code>committers/tools/releases/sign_and_hash.sh</code>.
+ <p>
+ Download maven-metadata.xml for commons foo from repo1.maven.org. This
file is located in the top-level
+ directory for the component. The file should contain a
<code>versioning</code> element, similar to the following:
+ <pre>
+ <versioning>
+ <release>1.1</release>
+ <versions>
+ <version>1.0</version>
+ <version>1.1</version>
+ </versions>
+ <lastUpdated>20091011214529</lastUpdated>
+ </versioning> </pre>
+ </p>
+ <p>
+ Create a <code>version</code> element for 1.2, update the
<code>release</code> version and update
+ the date in the <code>lastUpdated</code> element:
+ <pre>
+ <versioning>
+ <release>1.2</release>
+ <versions>
+ <version>1.0</version>
+ <version>1.1</version>
+ <version>1.2</version>
+ </versions>
+ <lastUpdated>20100401214529</lastUpdated>
+ </versioning> </pre>
+ </p>
+ <p>
+ Create the hash files, maven-metadata.xml.sha1 and maven-metadata.xml.md5
for the updated metadata file.
+ If you do not have openssl or another suitable utility installed locally,
you can upload the edited
+ maven-metadata.xml file to people.apache.org and use the following
commands to create these files:
+ <pre>
+ md5 -q maven-metadata.xml > maven-metadata.xml.md5
+ sha1 -q maven-metadata.xml > maven-metadata.xml.sha1 </pre>
+ </p>
+ <p>
+ Your Maven artifacts (jar and pom files with hashes and signatures) should
be placed in
+
<code>/www/people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/commons/commons-foo/1.2/</code>
on
+ people.apache.org. This assumes that your component has been migrated to
use the org.apache.commons groupId.
+ If the component still uses commons-foo as its groupId, the deployment
location should be
+
/www/people.apache.org/repo/m2-ibiblio-rsync-repository/commons-foo/commons-foo/1.2.
If your RC directory
+ includes a "maven" subdirectory including the maven artifacts, you can
move the maven artifacts using
+ the following commands (assuming the org.apache.commons groupId):
+ <pre>
+ mkdir
/www/people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/commons/commons-foo/1.2
+ chgrp commons ~/public_html/foo-1.2-RC3/maven/*
+ chmod g+w ~/public_html/foo-1.2-RC3/maven/*
+ mv ~/public_html/foo-1.2-RC3/maven/*
/www/people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/commons/commons-foo/1.2
</pre>
+ </p>
+ <p>
+ Double-check permissions on the newly created directory and the deployed
files. Also double-check that all
+ of the artifacts have hashes and signature files associated with them.
+ </p>
+ <p>
+ The updated <code>maven-metadata.xml</code> and its sha1 and md5 hashes
should be placed in the directory
+ above the deployed artifacts
+
(<code>/www/people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/commons/commons-foo</code>
if
+ org.apache.commons is the groupId).
</p>
<p>
The files placed here will be mirrored (after some delay) to the public
distribution
@@ -203,20 +235,23 @@
</p>
</subsection>
- <subsection name="5 Update Component Website">
- <strong>Publish Updated Website</strong>
- <p>
- Update the website, per the instructions <a
href="publish-site.html">here</a>.
- </p>
- </subsection>
-
- <subsection name='6 Update JIRA'>
- <p>
- Mark the release as released in the JIRA project admin.
- </p>
+ <subsection name="5 Update Component Build and Website">
+ <ul>
+ <li>
+ <strong>Update trunk version</strong>
+ Update current version found in <code>pom.xml</code> in the trunk if it
has not already been done.
+ This should be updated to a <code>SNAPSHOT</code> release, eg change "1.2"
to "1.3-SNAPSHOT". If
+ the component maintains an Ant build and the version is specified in
build.xml, make sure to update
+ this as well.
+ </li>
+ <li>
+ <strong>Publish the website</strong>,
+ per the instructions <a href="publish-site.html">here</a>.
+ </li>
+ </ul>
</subsection>
- <subsection name='7 Create Announcements'>
+ <subsection name='6 Create Announcements'>
<p>
Announce the availability of the new release.
</p>
@@ -225,8 +260,21 @@
about verifying the signatures. The subject should be something like
<code>[ANNOUNCEMENT] Foo 1.2 Released</code>.
Send this mail from your Apache account. Please spell check the document!
</p>
+ <p>
+ Wait to send the release announcement until you have verified that
+ <ol>
+ <li>The release artifacts are available on the mirrors.</li>
+ <li>The component website including the updated download page has been
updated on the public site
+ http://commons.apache.org/foo.</li>
+ <li>If the component publishes maven artifacts, these artifacts have been
replicated to the central
+ maven repo at repo1.maven.org. (Clear your local repo of the release
artifacts and either activate
+ the clirr report with the updated version info or update a local
project with a dependency to the new
+ release version to get maven to try to download the release artifacts.
Or just access repo1 using a web
+ browser.)</li>
+ </ol>
+ </p>
<p>
- This should go to (at least) the following mailing lists:
+ The release announcement should go to (at least) the following mailing
lists:
<ul>
<li>[email protected]</li>
<li>[email protected]</li>
@@ -235,15 +283,17 @@
</p>
</subsection>
- <subsection name='8 Post Release Cleanup'>
+ <subsection name='7 Post Release Cleanup'>
<p>
That's it! The release is out there - but there is still some tidying up
to be done.
</p>
<ul>
<li>
- <strong>Update trunk version</strong>
- Update current version found in <code>pom.xml</code> in the trunk if it
has not already been done.
- This should be updated to a <code>SNAPSHOT</code> release, eg change "1.2"
to "1.3-SNAPSHOT".
+ <strong>Update JIRA</strong>
+ Mark the release as released in the JIRA project admin and CLOSE all
issues RESOLVED
+ in this release. Make sure the FIX VERSION for all issues closed with
this release
+ is set correctly to this version. If this has not already been done,
create a JIRA version
+ for the next release.
</li>
<li>
<strong>Update DOAP file</strong>
@@ -256,8 +306,12 @@
<created>yyyy-mm-dd</created>
<revision>x.y.z</revision>
</Version>
- </release>
- </pre>
+ </release> </pre>
+ </li>
+ <li>
+ <strong>Update changes.xml</strong>
+ If the component uses the maven changes plugin to maintain its changelog,
fill in the release
+ date for the just released version and create a new release element for
the next release.
</li>
</ul>
</subsection>