You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wookie.apache.org by bu...@apache.org on 2012/04/25 21:15:49 UTC

svn commit: r814473 - in /websites/staging/wookie/trunk/content: ./ wookie/docs/developer/release-overview.html

Author: buildbot
Date: Wed Apr 25 19:15:48 2012
New Revision: 814473

Log:
Staging update by buildbot for wookie

Added:
    websites/staging/wookie/trunk/content/wookie/docs/developer/release-overview.html
Modified:
    websites/staging/wookie/trunk/content/   (props changed)

Propchange: websites/staging/wookie/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Wed Apr 25 19:15:48 2012
@@ -1 +1 @@
-1330490
+1330492

Added: websites/staging/wookie/trunk/content/wookie/docs/developer/release-overview.html
==============================================================================
--- websites/staging/wookie/trunk/content/wookie/docs/developer/release-overview.html (added)
+++ websites/staging/wookie/trunk/content/wookie/docs/developer/release-overview.html Wed Apr 25 19:15:48 2012
@@ -0,0 +1,250 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<!--
+
+    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.
+-->
+
+  <link href="/wookie/css/wookie.css" rel="stylesheet" type="text/css">
+  <link href="/wookie/css/code.css" rel="stylesheet" type="text/css">
+  <title>Apache Wookie (Incubating) - Release Overview</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+</head>
+
+<body>
+  <div id="banner">
+    <img alt="Apache Wookie (Incubating)" src="/wookie/images/logo.png"/>
+    <h1 class="title">Release Overview</h1>
+  </div>
+  
+  <div id="navigation">
+  <h1 id="general">General</h1>
+<ul>
+<li><a href="/wookie/index.html">Home</a></li>
+<li><a href="/wookie/news.html">News</a></li>
+<li><a href="/wookie/docs/download.html">Download</a></li>
+<li><a href="http://incubator.apache.org/projects/wookie.html">Incubator page</a></li>
+<li><a href="http://www.apache.org/licenses/LICENSE-2.0">License</a></li>
+</ul>
+<h1 id="documentation">Documentation</h1>
+<ul>
+<li><a href="/wookie/docs/download.html">Download and Quickstart</a></li>
+<li><a href="/wookie/docs/admin.html">Server Admin</a></li>
+<li><a href="/wookie/docs/embedding.html">Embedding</a></li>
+<li><a href="/wookie/docs/shindig.html">Integrating with Shindig</a></li>
+<li><a href="/wookie/docs/widgets.html">Building widgets</a></li>
+<li><a href="/wookie/docs/faq.html">FAQ</a></li>
+<li><a href="/wookie/docs/api.html">API Reference</a></li>
+</ul>
+<h1 id="community">Community</h1>
+<ul>
+<li><a href="/wookie/get-involved.html">Get Involved</a></li>
+<li><a href="/wookie/mailing-lists.html">Mailing Lists</a></li>
+<li><a href="/wookie/people.html">People</a></li>
+</ul>
+<h1 id="development">Development</h1>
+<ul>
+<li><a href="/wookie/docs/source.html">Getting Started</a></li>
+<li><a href="/wookie/docs/developer/running.html">Running</a></li>
+<li><a href="/wookie/docs/templates.html">Widget Templates</a></li>
+<li><a href="/wookie/docs/developer/features.html">Extension Features</a></li>
+<li><a href="/wookie/docs/developer/widgets.html">Deploying Widgets</a></li>
+<li><a href="/wookie/docs/develop.html">Environment</a></li>
+<li><a href="/wookie/docs/developer/release-management.html">Release Management</a></li>
+<li><a href="/wookie/docs/developer/issues.html">Issue Tracker</a></li>
+<li><a href="/wookie/docs/developer/index.html">Management</a></li>
+<li><a href="/wookie/docs/developer/parser.html">W3C Widget Parser</a></li>
+</ul>
+<h1 id="asf">ASF</h1>
+<ul>
+<li><a href="http://www.apache.org">Apache Software Foundation</a></li>
+<li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+<li><a href="http://www.apache.org/foundation/sponsorship.html">Become a Sponsor</a></li>
+<li><a href="http://www.apache.org/security/">Security</a></li>
+</ul>
+  </div>
+
+  <div id="content">
+    <h1 id="introduction">Introduction</h1>
+<p>This document is an overview of the release process for Apache Wookie (Incubating). </p>
+<h1 id="release-phases">Release Phases</h1>
+<p>This section summarises each phase in the release process. There are more details for each phase in the sections below.</p>
+<ol>
+<li>Development<ol>
+<li>Analyze Open Issues</li>
+<li>Issue Fixing - ongoing - all issues should be resolved or moved</li>
+<li>Issue Validation - all resolved issues must be checked as being truly fixed and thus marker as verified</li>
+<li>Collect committer public keys</li>
+<li>Licence Audit and Legal Audit - including headers, dependencies, LICENCE and NOTICE files</li>
+</ol>
+</li>
+<li>Release Candidate<ol>
+<li>Licence Audit and Legal Audit - including headers, dependencies, LICENCE and NOTICE files</li>
+<li>Documentation – Check installation and build documentation for accuracy, create status document, create release notes</li>
+<li>Create release branch on SVN – sign binaries, permissions</li>
+<li>Test, test, test! (repeat from previous step until no problems emerge in test)</li>
+</ol>
+</li>
+<li>Prepare for release<ol>
+<li>Write the release announcement (with approval from press@)</li>
+<li>Tag the release branch </li>
+<li>Build the release files</li>
+<li>Signing of release files</li>
+</ol>
+</li>
+<li>Vote on release</li>
+<li>Request approval from Incubator PCM</li>
+<li>Release<ol>
+<li>Upload to incubator distributions site</li>
+<li>Wait for mirroring to take place </li>
+<li>Announce the release</li>
+</ol>
+</li>
+</ol>
+<h2 id="development">Development</h2>
+<p>These steps are to be carried out in the run up to a relase. They are, in the main, an ongoing activity
+rather than a part of the release cycle itself.</p>
+<h3 id="open-issues">Open Issues</h3>
+<p>A list of outstanding issues is generated from Jira. This list is posted to the project developer list 
+with suggestions to either implement for the release or postpone for the next release. After community 
+discussion JIRA is updated accordingly.</p>
+<p>When deciding whether to implement an issue for this release be aware of taking on too much. It is more 
+important to get a release out than to complete all features. Release early, release often.</p>
+<p>Once complete this process gives a clear definition of what will be included in the release and allows 
+timescales to be estimated.</p>
+<h3 id="issue-fixing-and-verification">Issue Fixing and Verification</h3>
+<p>Each issue for the release to be fixed then the fixes to be tested, reviewed and accepted.</p>
+<h3 id="signatures">Signatures</h3>
+<p>The committers for the project need to provide public keys for the release, each person who submits a 
+key needs to keep the private key safe.  These will be included with the release in a KEYS file. The 
+process of creating a key pair should be consistent across the committers.  Apache recommend using 
+GNU Privacy Guard to generate keys and sign the artifacts.</p>
+<p>Committers without a code signing key should generate one - RSA 4096 bits</p>
+<p>If committers have a DSA or RSA key of less than 2048 bits then a new one should be generated for 
+signing releases, again using RSA 4096 bit.</p>
+<p>For committers who already have an RSA key of 2048 bits or more some configuration of their client 
+to avoid weaknesses are required.  Instructions on how to do this can be found 
+<a href="http://www.apache.org/dev/openpgp.html#sha1">here</a>.</p>
+<h4 id="web-of-trust">Web of Trust</h4>
+<p>Once individuals have generated keys, opportunities should be taken (where possible) 
+to join the Apache Web of Trust. First the keys should be uploaded to a public key 
+server (is there a recommended one we should use?). Next key signing: if conferences 
+are attended or events where there are other Apache developers and there are key 
+signing parties.</p>
+<h3 id="license-audit-and-legal-audit">License Audit and Legal Audit</h3>
+<p>There is a need to check all licenses manually, including headers in source files etc... 
+The licenses for all libraries should be in place.  LICENSE and NOTICE files need to 
+be created. The Release Audit Tool (RAT) <a href="http://ci.apache.org/projects/wookie/rat-output.html">report</a> 
+is helpful in this regard.</p>
+<p>In licenses/all_licenses.txt record the details of all dependencies; this should include not 
+only any libraries referenced directly in ivy.xml, but also any dependencies of features, connectors 
+and widgets. It is not, however, necessary to document licenses of secondary dependencies.</p>
+<p>The LICENSE file should contain our license and the licenses for all dependencies underneath.<br />
+The NOTICE file contains the following text modified for our project and the notices from 
+dependencies underneath.</p>
+<p>Apache PRODUCT_NAME
+Copyright yyyy The Apache Software Foundation</p>
+<p>This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).</p>
+<h2 id="release-candidate">Release Candidate</h2>
+<p>This is the first real phase of the release process.</p>
+<h3 id="documentation">Documentation</h3>
+<p>The installation and build documentation which is included with the release needs to be 
+checked for accuracy.  Other documentation is maintained online and can be modified when 
+required.  When we announce the release it would be good to review the documentation for 
+accuracy and usability. The status document can be generated from the issue tracker with 
+some introduction. Release notes need to be created including the standard incubator disclaimer.</p>
+<h3 id="release-tag">Release Tag</h3>
+<p>When we reach code freeze a tag should be created in which the release is built and 
+signed. This will allow continued development on trunk.  The tag can also be used to 
+maintain the release, but any changes or fixes there need to be merged back into trunk. 
+There is a detailed description here of an approach similar to this. When built and 
+signed the tag should be considered the release candidate for testing.</p>
+<h3 id="build-the-release-candidate">Build the release candidate</h3>
+<p>The release candidate files are built from the release branch. The files to be provided are:</p>
+<ul>
+<li>Source distribution</li>
+<li>Standalone distribution</li>
+<li>WAR distribution</li>
+<li>W3C Parser subproject (Nexus artifact)</li>
+<li>Java Connector subproject (Nexus artifact)</li>
+<li>WAR self contained (Nexus artifact)</li>
+</ul>
+<h3 id="testing">Testing</h3>
+<p>The final build should be tested on all supported platforms, we provide a <a href="releaseTesting.html">minimal testing
+script</a> for your to follow.<br />
+</p>
+<p>If any tests identify problems the community needs to decide if this is a blocker to the release or not.
+If not a blocker the issue should be documented, if a blocker it should be fixed and a new
+release candidate is built.</p>
+<h2 id="prepare-for-release">Prepare for release</h2>
+<p>This is where we build the actual release.</p>
+<h3 id="write-release-announcement">Write release announcement</h3>
+<p>The release announcement is written in cooperation with the press@ list.</p>
+<h3 id="tag-the-release-branch">Tag the release branch</h3>
+<p>The release branch is tagged with the release number.</p>
+<h3 id="build-release-files">Build release files</h3>
+<p>All release files are built from the tag. Release files are:</p>
+<ul>
+<li>Source distribution</li>
+<li>Standalone distribution</li>
+<li>WAR distribution</li>
+<li>W3C Parser subproject (Nexus artifact)</li>
+<li>Java Connector subproject (Nexus artifact)</li>
+<li>WAR self contained (Nexus artifact)</li>
+</ul>
+<h3 id="signing-of-release-files">Signing of release files</h3>
+<p>A minimum of three committers must sign the release using their keys avilable in SVN.</p>
+<h2 id="vote-on-the-release">Vote on the release</h2>
+<p>The community votes on the release. Since the release candidate has been thoroughly tested
+by the community this should be a formality. However, it is an important formality as it 
+indicates that the project management committee have verified the legal integrity of the
+release.</p>
+<p>If you are a PMC member you should not vote +1 unless you are satisfied that the software is,
+to the best of your knowledge, ready for release.</p>
+<h2 id="request-incubator-approval">Request incubator approval</h2>
+<p>Whilst in the incubator the project needs to have official approvel from the Incubator PMC.
+As with the community vote this should be a formality, however, many incubator PMC
+members will check the legal status of the release as an added precaution.</p>
+<h2 id="release">Release</h2>
+<p>All there is to do now is get the release out there.</p>
+<h3 id="upload-to-incubator-distribution-site">Upload to incubator distribution site</h3>
+<p>Once you have uploaded the files to the incubator distribution site you will need to check
+permissions and wait for mirroring to take place.</p>
+<h3 id="announce-the-release">Announce the release</h3>
+<p>The release announcement needs to be posted to:</p>
+<ul>
+<li>announce@</li>
+<li>wookie-users@</li>
+<li>wookie-dev@</li>
+<li>project website</li>
+</ul>
+  </div>
+
+  <div id="footer">
+    <div class="copyright">
+      <p>
+        Copyright &copy; 2011-2012 The Apache Software Foundation, Licensed under
+        the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
+        <br />
+        Apache and the Apache feather logos are trademarks of The Apache Software Foundation.
+      </p>
+    </div>
+  </div>
+
+</body>
+</html>