Author: simonetripodi
Date: Mon Apr 30 15:07:44 2012
New Revision: 1332234
URL: http://svn.apache.org/viewvc?rev=1332234&view=rev
Log:
updated the HowTo for the release, simple txt page moved to an enhanced psite page
Added:
incubator/any23/trunk/src/site/xdoc/release-howto.xml (with props)
Removed:
incubator/any23/trunk/RELEASE-HOWTO.txt
Modified:
incubator/any23/trunk/src/site/site.xml
Modified: incubator/any23/trunk/src/site/site.xml
URL: http://svn.apache.org/viewvc/incubator/any23/trunk/src/site/site.xml?rev=1332234&r1=1332233&r2=1332234&view=diff
==============================================================================
--- incubator/any23/trunk/src/site/site.xml (original)
+++ incubator/any23/trunk/src/site/site.xml Mon Apr 30 15:07:44 2012
@@ -77,6 +77,7 @@
<item href="./dev-microformat-extractors.html" name="Microformat Extractors"/>
<item href="./dev-microdata-extractor.html" name="Microdata Extractor"/>
<item href="./dev-csv-extractor.html" name="CSV Extractor"/>
+ <item href="./release-howto.html" name="HowTo Release"/>
</item>
</menu>
Added: incubator/any23/trunk/src/site/xdoc/release-howto.xml
URL: http://svn.apache.org/viewvc/incubator/any23/trunk/src/site/xdoc/release-howto.xml?rev=1332234&view=auto
==============================================================================
--- incubator/any23/trunk/src/site/xdoc/release-howto.xml (added)
+++ incubator/any23/trunk/src/site/xdoc/release-howto.xml Mon Apr 30 15:07:44 2012
@@ -0,0 +1,385 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<document xmlns="http://maven.apache.org/XDOC/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd">
+
+ <properties>
+ <title>Apache Any23 - Release HowTo</title>
+ <author email="any23-dev@incubator.apache.org">Apache Any23 Team</author>
+ </properties>
+
+ <body>
+ <section name="HowTo Release Apache Any23">
+ <p>This short guide is for volunteers that intend to cover the role of Release
Manager</p>
+ </section>
+
+ <section name="Prerequisites">
+ <ul>
+ <li>Install/Configure <code>GPG</code> - The artifacts that are
deployed to the ASF central repository need to
+ be signed. To do this you will need to have a public and private keypair. There is
a very good
+ <a href="http://www.sonatype.com/people/2010/01/how-to-generate-pgp-signatures-with-maven/">guide</a>
that will
+ walk you though this.</li>
+
+ <li>Install Apache Maven 2.2.1 or higher. 2.2.0 has a bug that will produce
invalid checksums; we strongly
+ encourage our committers to install Apache Maven 3.0.4.</li>
+ </ul>
+ </section>
+
+ <section name="Configuration">
+ <subsection name="Apache Maven">
+ <p>As of Maven 2.1.0 you can now encrypt your servers passwords. We highly
recommend that you follow this
+ <a href="http://maven.apache.org/guides/mini/guide-encryption.html">guide</a>
to set your master password and
+ use it to encrypt your ASF password in the next section.</p>
+ </subsection>
+
+ <subsection name="ASF settings">
+ <p>Using the instructions from the previous step encrypt your Sonatype password
and add the following servers to
+ your <code>~/.m2/settings.xml</code> file. You may already have other
servers in this file. If not just create
+ the file.</p>
+
+ <source><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
+<settings>
+ ...
+ <servers>
+ <server>
+ <id>apache.snapshots.https</id>
+ <username>simonetripodi</username>
+ <password>{put your encrypted password here}</password>
+ </server>
+ <server>
+ <id>apache.releases.https</id>
+ <username>simonetripodi</username>
+ <password>{put your encrypted password here}</password>
+ </server>
+ </servers>
+ ...
+ <profiles>
+ <profile>
+ <id>apache</id>
+ <activation>
+ <activeByDefault>false</activeByDefault>
+ </activation>
+ <properties>
+ <mavenExecutorId>forked-path</mavenExecutorId>
+ <gpg.keyname>19FEA27D</gpg.keyname>\
+ <!-- optional -->
+ <gpg.passphrase>your-gpg-passphrase</gpg.passphrase>
+ </properties>
+ </profile>
+ </profiles>
+ ...
+</settings>]]></source>
+ </subsection>
+ </section>
+
+ <section name="Release steps">
+ <subsection name="Prepare the source for release">
+ <ol>
+ <li>Clean up JIRA so the <b>Fix Version</b> in issues resolved
since the last release includes this release
+ version correctly. Also, transition any <b>Resolved</b> issues to the
<b>Closed</b> state.
+ </li>
+ <li> Update the text files in a working copy of the project root:
+ <ol>
+ <li>Update the <tt>CHANGES</tt> based on the Text release
reports from JIRA.</li>
+ <li>Review and update <tt>README</tt> if needed.</li>
+ <li>Commit any changes back to svn: <pre>svn commit -m "updating
files for release"</pre>.</li>
+ </ol>
+ </li>
+ <li>Perform a full build and deploy the SNAPSHOT artifacts: <pre>mvn
-P apache-release clean deploy</pre></li>
+ </ol>
+ </subsection>
+
+ <subsection name="Get source tree">
+ <ol>
+ <li><strong><em>Only for new major releases (like 1.0.0 to 1.1.0):</em></strong>
+ <br/>
+ Create a sub-branch from which to make the release.
+ <br/>
+ Releasing from a branch will allow any cosmetic changes that need to be made for
the release to be
+ approved to be done without preventing other more disruptive advances in the trunk
from potentially
+ causing problems with the release. It also provides a future maintenance branch
(like 1.0.x.)
+ <br/>
+ A branch can be made by running:
+ <pre>mvn release:branch -DbranchName=1.0.x</pre></li>
+ <li>Checkout a clean copy of the trunk/branch to release using command line
svn:
+ <pre>svn checkout https://svn.apache.org/repos/asf/incubator/any23/trunk/
release</pre></li>
+ </ol>
+ </subsection>
+
+ <subsection name="Prepare the release">
+ <ol>
+ <li>Do a dry run of the <tt>release:prepare</tt> step.
+ <pre>mvn -Papache-release release:prepare -DdryRun=true</pre>
+
+ The dry run will not commit any changes back to SVN and gives you the opportunity
to verify that the
+ release process will complete as expected.
+
+ <p><em>If you cancel a <tt>release:prepare</tt> before
it updates the pom.xml versions, then use the
+ <tt>release:clean</tt> goal to just remove the extra files that were
created.</em></p></li>
+
+ <li>Verify that the release process completed as expected:
+ <ol>
+ <li>The release plugin will create <code>pom.xml.tag</code>
files which contain the changes that would
+ have been committed to SVN. The only differences between <code>pom.xml.tag</code>
and its corresponding
+ <code>pom.xml</code> file should be the version
+ number.</li>
+
+ <li>If other formatting changes have been made you should review the
changes and then commit them:
+ <pre>svn commit -m "fixing formatting for release"</pre></li>
+
+ <li>Assuming the <code>.tag</code> files look OK you may
proceed and do any other validation you feel
+ necessary. The following list may be helpful:
+ <ol>
+ <li>Check <tt>release.properties</tt> and make sure that
the scm properties have the right version.
+ Sometimes the scm location can be the previous version not the next version.</li>
+
+ <li>Verify signatures: On Un*x platforms the following command can
be executed:
+<source>for file in `find . -type f -iname '*.asc'`
+do
+ gpg --verify ${file}
+done</source>
+
+ You'll need to look at the output to ensure it contains only good signatures:
+<source>gpg: Good signature from ...
+gpg: Signature made ...</source>
+ </li>
+ </ol>
+ </li>
+
+ <li>Once any failures or required updates have been committed to svn,
rollback the release prepare files:
+ <source>mvn -P apache-release release:rollback</source></li>
+ </ol>
+ </li>
+
+ <li>Run the <tt>release:prepare</tt> step for real this time.
You'll be prompted for the same version
+ information and optionally your GPG passphrase again. <pre>mvn -P apache-release
release:prepare</pre>
+ </li>
+ </ol>
+ </subsection>
+
+ <subsection name="Perform the release">
+ <p>This step will create a maven staging repository</p>
+
+ <pre>mvn -P apache-release release:perform</pre>
+
+ <ol>
+ <li>Verify the staged artifacts in the Nexus repository:
+ <ol>
+ <li><a href="https://repository.apache.org/index.html">https://repository.apache.org/</a></li>
+ <li><strong>Enterprise --> Staging</strong></li>
+ <li><strong>Staging tab --> Name column --> org.apache.any23</strong></li>
+ <li>Navigate through the artifact tree and make sure that all binary,
+ <code>javadoc</code>,
+ <code>sources</code>, and
+ <code>tests</code> jars, as well as
+ <code>pom</code>s, ... have
+ <code>.asc</code> (GPG signature) and checksum files (see
+ <a href="http://people.apache.org/~henkp/repo/faq.html">Repository
FAQ</a> and
+ <a href="http://www.apache.org/dev/release-signing.html#openpgp-ascii-detach-sig">Detached
Signatures</a>).
+ The <code>any23-sources-dist-X.Y.tar.gz</code> and
+ <code>any23-sources-dist-X.Y.zip</code> files shall likewise
have signature and checksum files.
+ </li>
+ </ol>
+ </li>
+
+ <li>Close the Nexus staging repo:
+ <ol>
+ <li><a href="https://repository.apache.org/index.html">https://repository.apache.org/</a></li>
+ <li><strong>Enterprise --> Staging</strong></li>
+ <li><strong>Staging tab --> Name column --> org.apache.any23</strong></li>
+ <li>Right click on the open <code>org.apache.any23-XXX</code>
staging repo and select
+ <strong>Close</strong>.</li>
+ </ol>
+ </li>
+ </ol>
+ </subsection>
+
+ <subsection name="Vote the Release">
+ <ol>
+ <li>Create a <code>VOTE</code> email thread on <a href="mailto:any23-dev@incubator.apache.org">any23-dev</a>
+ to record votes as replies, e.g.:
+ <pre><![CDATA[To: "Apache Any23 Developers List" <any23-dev@incubator.apache.org>
+Subject: [VOTE] Release Apache Any23 X.Y
+
+Hi,
+
+We solved N issues:
+http://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12312323&styleName=Html&version=X.Y
+
+There are still a couple of issues left in JIRA:
+http://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&pid=12312323&status=1
+
+SVN source tag (r9999999):
+https://svn.apache.org/repos/asf/incubator/any23/tags/X.Y/
+
+Staging repo:
+https://repository.apache.org/content/repositories/org.apache.any23-[YOUR REPOSITORY ID]/
+
+Staging site:
+http://incubator.apache.org/any23/X.Y/
+
+PGP release keys (signed using ABCDEFG):
+http://www.apache.org/dist/incubator/any23/KEYS
+
+Vote will be open for 72 hours.
+
+[ ] +1, let's get it ruuuumbleeeeee!!!
+[ ] +/-0, fine, but consider to fix few issues before...
+[ ] -1, nope, because... (and please explain why)]]></pre>
+ </li>
+
+ <li>Create a <code>DISCUSS</code> email thread on <code>any23-dev@</code>
for any vote questions, e.g.:
+ <pre><![CDATA[To: "Apache Any23 Developers List" <any23-dev@incubator.apache.org>
+Subject: [DISCUSS] Apache Any23 X.Y
+
+Discussion thread for vote on <version> release candidate, with SVN source
tag (r9999999).
+
+For more information on the release process, check out http://www.apache.org/dev/release.html
+
+Some of the things to check before voting are:
+ - does "mvn rat:check" pass on the source
+ - can you build the contents of source-release.zip and svn tag
+ - do all of the staged jars/zips contain the required LICENSE and NOTICE files
+ - are all of the staged jars signed and the signature verifiable
+ - is the signing key in the project's KEYS file and on a public server (i.e. http://www.apache.org/dist/incubator/any23/)]]>
+ </pre>
+ </li>
+
+ <li>Perform a review of the release and cast your vote. For more details
on Apache releases see
+ <a href="http://www.apache.org/dev/release.html">http://www.apache.org/dev/release.html</a>.</li>
+
+ <li>A <code>-1</code> vote does not necessarily mean that the
vote must be redone, however it is usually a
+ good idea to rollback the release if a <code>-1</code> vote is received
+ (see "Recovering from a vetoed release" below).</li>
+
+ <li>After the vote has been open for at least 72 hours, has at least three
+1 PMC votes and no -1 votes, then
+ post the results to the vote thread, replying to the initial email prepending <code>[RESULT]</code>
to the
+ original subject and include a list of every binding <code>+1</code>,
<code>0</code> and <code>-1</code> vote.
+ <pre><![CDATA[To: "Apache Any23 Developers List" <any23-dev@incubator.apache.org>
+CC: "Apache Any23 PMC List" <any23-private@incubator.apache.org>
+Subject: [RESULT] [VOTE] Release Apache Any23 X.Y
+
+Hi,
+The vote has passed with the following result :
+
++1 (binding):
+
+ Chris Mattmann
+ Lewis John Mcgibbney
+ Michele Mostarda
+ Simone Tripodi
+
++1 (non binding):
+
+ Mario Rossi
+ John Doe
+
+I will promote the artifacts to the central repo.]]></pre>
+ </li>
+ </ol>
+ </subsection>
+
+ <subsection name="Finalize the Release">
+ <ol>
+ <li>Promote the staged nexus artifacts:
+ <ol>
+ <li><a href="https://repository.apache.org/index.html">https://repository.apache.org/</a></li>
+ <li><strong>Enterprise --> Staging</strong></li>
+ <li><strong>Staging tab --> Name column --> org.apache.any23</strong></li>
+ <li>Right click on the closed <code>org.apache.any23-XXX</code>
staging repo and select <strong>Release</strong>.
+ </li>
+ </ol>
+ </li>
+
+ <li>Add the distribution artifacts to the distribution area
+ <p>
+ <strong>TO BE COMPLETED</strong>
+ </p>
+ </li>
+
+ <li>Update the <em>Downloads</em> site page to point to the new
release artifacts
+ <p>
+ <strong>TO BE COMPLETED</strong>
+ </p>
+ </li>
+
+ <li>Update the
+ <a href="https://issues.apache.org/jira/plugins/servlet/project-config/ANY23/versions">JIRA
versions</a>
+ page to mark the version as <strong>Released</strong>, and set the
date to the date that
+ the release was approved. You may also need to make a new release entry for the
next release.</li>
+ </ol>
+ </subsection>
+
+ <subsection name="Announce the Release">
+ <p>Make an announcement about the release on the
+ <a href="mailto:any23-user@incubator.apache.org">any23-user</a>,
+ <a href="mailto:any23-dev@incubator.apache.org">any23-dev</a>, and
+ <a href="mailto:announce@apache.org">announce@apache.org</a> lists as
per
+ <a href="http://www.apache.org/foundation/mailinglists.html#foundation-announce]">the
Apache Announcement Mailing Lists page</a>
+ </p>
+
+ <pre><![CDATA[From: YOUR_APACHE_USERNAME@apache.org
+To: "ASF Announcements" <announce@apache.org>, "Apache Any23 Users List" <any23-user@incubator.apache.org>
+CC: "Apache Any23 Developers List" <any23-dev@incubator.apache.org>
+Subject: [ANNOUNCE] Apache Any23 X.Y
+
+The Apache Any23 Team is pleased to announce the release of Apache Any23 X.Y.
+
+Anything To Triples (any23) is a library, a web service and a command line tool that
+extracts structured data in RDF format from a variety of Web documents.
+
+Release Notes:
+
+(put JIRA release notes here)
+
+Have Fun,
+(committer name), on behalf of the Apache Any23 PMC]]></pre>
+ </subsection>
+ </section>
+
+ <section name="Recovering from a vetoed release">
+ <ol>
+ <li>Reply to the initial vote email prepending <code>[CANCELED]</code>
to the original subject.</li>
+ <li>Rollback the version upgrades in trunk by <em>either</em>:
+ <ol>
+ <li>Restore the 0.1-rc1.tar.gz and run <source>mvn -P apache-release
release:rollback</source> <em>or</em>
+ manually revert the versions in trunk to the prior version and commit</li>
+ </ol>
+ </li>
+
+ <li>Delete the svn tag created by the <code>release:perform</code>
step:
+ <pre>svn rm https://svn.apache.org/repos/asf/incubator/any23/tags/X.Y -m "deleting
tag from rolled back release"</pre></li>
+
+ <li>Drop the Nexus staging repo:
+ <ol>
+ <li><a href="https://repository.apache.org/index.html">https://repository.apache.org/</a></li>
+ <li><strong>Enterprise --> Staging</strong></li>
+ <li><strong>Staging tab --> Name column --> org.apache.any23</strong></li>
+ <li>Right click on the closed <code>org.apache.any23-XXX</code>
staging repo and select <strong>Drop</strong>.
+ </li>
+ </ol>
+ </li>
+
+ <li>Make the required updates that caused the vote to be canceled.</li>
+
+ <li>Spin another release attempt!</li>
+ </ol>
+ </section>
+ </body>
+
+</document>
Propchange: incubator/any23/trunk/src/site/xdoc/release-howto.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/any23/trunk/src/site/xdoc/release-howto.xml
------------------------------------------------------------------------------
svn:keywords = Date Revision Author HeadURL Id
Propchange: incubator/any23/trunk/src/site/xdoc/release-howto.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
|