Author: rgardler
Date: Thu Mar 31 21:54:35 2011
New Revision: 1087453
URL: http://svn.apache.org/viewvc?rev=1087453&view=rev
Log:
add release and testing notes from CWiki, add some more steps and clarity to
the release process
Added:
incubator/wookie/site/trunk/content/wookie/docs/developer/
incubator/wookie/site/trunk/content/wookie/docs/developer/index.mdtext
(with props)
incubator/wookie/site/trunk/content/wookie/docs/developer/release.mdtext
(with props)
incubator/wookie/site/trunk/content/wookie/docs/developer/releaseTesting.mdtext
(with props)
Modified:
incubator/wookie/site/trunk/content/wookie/siteMigration.mdtext
incubator/wookie/site/trunk/templates/sidenav.mdtext
Added: incubator/wookie/site/trunk/content/wookie/docs/developer/index.mdtext
URL:
http://svn.apache.org/viewvc/incubator/wookie/site/trunk/content/wookie/docs/developer/index.mdtext?rev=1087453&view=auto
==============================================================================
--- incubator/wookie/site/trunk/content/wookie/docs/developer/index.mdtext
(added)
+++ incubator/wookie/site/trunk/content/wookie/docs/developer/index.mdtext Thu
Mar 31 21:54:35 2011
@@ -0,0 +1,23 @@
+Title: Developer Documentation Index
+Notice: 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.
+
+This section of the site contains documentation specifcally for the
development team of Apache Wookie (Incubating).
+
+ - [Source Code](/wookie/docs/download.html)
+ - [Issue Tracker](https://issues.apache.org/jira/browse/WOOKIE)
+ - [Release process](release.html): describes how to cut a release
Propchange:
incubator/wookie/site/trunk/content/wookie/docs/developer/index.mdtext
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/wookie/site/trunk/content/wookie/docs/developer/release.mdtext
URL:
http://svn.apache.org/viewvc/incubator/wookie/site/trunk/content/wookie/docs/developer/release.mdtext?rev=1087453&view=auto
==============================================================================
--- incubator/wookie/site/trunk/content/wookie/docs/developer/release.mdtext
(added)
+++ incubator/wookie/site/trunk/content/wookie/docs/developer/release.mdtext
Thu Mar 31 21:54:35 2011
@@ -0,0 +1,210 @@
+Title: Cutting a release
+Notice: 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.
+
+# Introduction
+
+This document is an overview of the release process for Apache Wookie
(Incubating).
+
+# Release Phases
+
+This section summarises each phase in the release process. There are more
details for each phase in the sections below.
+
+ 1. Development
+ 1. Analyze Open Issues
+ 1. Issue Fixing - ongoing - all issues should be resolved or moved
+ 1. Issue Validation - all resolved issues must be checked as being truly
fixed and thus marker as verified
+ 1. Collect committer public keys
+ 1. Licence Audit and Legal Audit - including headers, dependencies,
LICENCE and NOTICE files
+ 1. Release Candidate
+ 1. Licence Audit and Legal Audit - including headers, dependencies,
LICENCE and NOTICE files
+ 1. Documentation â Check installation and build documentation for
accuracy, create status document, create release notes
+ 1. Create release branch on SVN â sign binaries, permissions
+ 1. Test, test, test! (repeat from previous step until no problems emerge
in test)
+ 1. Prepare for release
+ 1. Write the release announcement (with approval from press@)
+ 1. Tag the release branch
+ 1. Build the release files
+ 1. Singing of release files
+ 1. Vote on release
+ 1. Request approval from Incubator PCM
+ 1. Release
+ 1. Upload to incubator distributions site
+ 1. Wait for mirroring to take place
+ 1. Announce the release
+
+## Development
+
+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.
+
+### Open Issues
+
+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.
+
+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.
+
+Once complete this process gives a clear definition of what will be included
in the release and allows
+timescales to be estimated.
+
+### Issue Fixing and Verification
+
+Each issue for the release to be fixed then the fixes to be tested, reviewed
and accepted.
+
+### Signatures
+
+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.
+
+Committers without a code signing key should generate one - RSA 4096 bits
+
+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.
+
+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
+[here](http://www.apache.org/dev/openpgp.html#sha1).
+
+#### Web of Trust (Post Release and ongoing)
+
+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.
+
+### License Audit and Legal Audit
+
+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)
[report](http://ci.apache.org/projects/wookie/rat-output.html)
+is helpful in this regard.
+
+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.
+
+The LICENSE file should contain our license and the licenses for all
dependencies underneath.
+The NOTICE file contains the following text modified for our project and the
notices from
+dependencies underneath.
+
+Apache PRODUCT_NAME
+Copyright yyyy The Apache Software Foundation
+
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+
+## Release Candidate
+
+This is the first real phase of the release process.
+
+### Documentation
+
+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.
+
+### Release Branch
+
+When we reach code freeze a branch should be created in which the release is
built and
+signed. This will allow continued development on trunk. The branch 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 branch should be considered the release candidate for testing.
+
+### Build the release candidate
+
+The release candidate files are built from the release branch. The files to be
provided are:
+
+ * source distribution
+ * standalone distribution
+ * WAR distribution
+
+### Testing
+
+The final build should be tested on all supported platforms, we provide a
[minimal testing
+script](releaseTesting.html) for your to follow.
+
+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.
+
+## Prepare for release
+
+This is where we build the actual release.
+
+### Write release announcement
+
+The release announcement is written in cooperation with the press@ list.
+
+### Tag the release branch
+
+The release branch is tagged with the release number.
+
+### Build release files
+
+All release files are built from the tagged branch. Release files are:
+
+ * source distribution
+ * standalone distribution
+ * WAR distribution
+
+### Signing of release files
+
+A minimum of three committers must sign the release using their keys avilable
in SVN.
+
+## Vote on the release
+
+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.
+
+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.
+
+## Request incubator approval
+
+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.
+
+## Release
+
+All there is to do now is get the release out there.
+
+### Upload to incubator distribution site
+
+Once you have uploaded the files to the incubator distribution site you will
need to check
+permissions and wait for mirroring to take place.
+
+### Announce the release
+
+The release announcement needs to be posted to:
+
+ * announce@
+ * wookie-users@
+ * wookie-dev@
+ * project website
\ No newline at end of file
Propchange:
incubator/wookie/site/trunk/content/wookie/docs/developer/release.mdtext
------------------------------------------------------------------------------
svn:eol-style = native
Added:
incubator/wookie/site/trunk/content/wookie/docs/developer/releaseTesting.mdtext
URL:
http://svn.apache.org/viewvc/incubator/wookie/site/trunk/content/wookie/docs/developer/releaseTesting.mdtext?rev=1087453&view=auto
==============================================================================
---
incubator/wookie/site/trunk/content/wookie/docs/developer/releaseTesting.mdtext
(added)
+++
incubator/wookie/site/trunk/content/wookie/docs/developer/releaseTesting.mdtext
Thu Mar 31 21:54:35 2011
@@ -0,0 +1,115 @@
+Title: Testing a release
+Notice: 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.
+
+
+These are instructions to help community members with testing new releases.
+
+# Test Environment
+
+Ideally the client will access from a different network machine to the server.
+
+# Testing the Build and Run Scripts
+
+There are three different types of build to test for release. All should be
available in the latest release branch
+on svn and/or in the staging area as declared on the wookie-dev list.
+
+ * download the appropriate build (all builds should be tested, not just one)
+ * for source and standalone builds run in standalone mode using the run
target in ant
+ * for the war build deploy the war in your chosen container
+ * check index page responds
+
+# Widget Gallery
+
+ * open a new browser window on the server home page
+ * click view widget gallery
+ * pick a random widget and click "Demo"
+ * ensure the widget behaves as expected
+ * refresh the page
+ * ensure the widget behaves as expected
+ * repeat above for at least one other widget (more is better)
+
+# Administration
+## Widget Deployment
+
+ * open a new browser window on the server home page
+ * click "Administration menu"
+ * enter username and password (default is java, java)
+ * click "View existing widgets"
+ * expand random widgets and ensure page behaves as expected
+ * click back button
+ * click "add new widget"
+ * upload a test widget (we should provide a simple test widget
+ in SVN that is packaged but not bundled with the release)
+ * repeat the "Widget Gallery" tests above with the test widget
+
+## Gadget Deployment
+
+Note that Gadget deployment will only work if you have also installed Shindig
+according to the instructions for Integrating Wookie with Shindig. If you
+haven't installed and configured Shindig, skip this step.
+
+ * Repeat the Widget Deployment above but with a Gadget rather than a Widget
+
+## Remove Widget
+
+ * Click "Remove widget"
+ * find the test widget and delete it
+ * check widget is not available in widget gallery
+
+## Service Types
+
+FIXME: How do we test this?
+
+## White List
+
+ * Click White List, then...
+
+### Access request policies
+
+ * click "Manage widget access request policies"
+ * revoke policies for weather widget
+ * check Weather widget does not work via the gallery (note it silently fails
at present)
+ * add http://feeds.bbc.co.uk to the whitelist
+ * check weather widget works via widget gallery
+
+### Instantiation
+
+ * go back to the index page (Other - back to main menu)
+ * click "instantiate a widget"
+ * select a random widget in "Service Type"
+ * click submit
+ * copy URL from returned XML document
+ * enter URL into browser
+ * check widget works OK
+
+### Reporting
+
+Thanks for testing.
+
+Please be sure to report your successes and failures in the developer mailing
list.
+Please include:
+
+Release versions tested: Source/Standalone/WAR
+Server OSs:
+Server and browser separate machines?:
+Servlet Engine:
+Java version:
+Browsers tests:
+Browser versions:
+Tested with Shindig integration?: Yes/No
+Results: All tests passed/I had the following problem(s)
\ No newline at end of file
Propchange:
incubator/wookie/site/trunk/content/wookie/docs/developer/releaseTesting.mdtext
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/wookie/site/trunk/content/wookie/siteMigration.mdtext
URL:
http://svn.apache.org/viewvc/incubator/wookie/site/trunk/content/wookie/siteMigration.mdtext?rev=1087453&r1=1087452&r2=1087453&view=diff
==============================================================================
--- incubator/wookie/site/trunk/content/wookie/siteMigration.mdtext (original)
+++ incubator/wookie/site/trunk/content/wookie/siteMigration.mdtext Thu Mar 31
21:54:35 2011
@@ -1,4 +1,4 @@
-Title:
+Title: Site Migration
Notice: 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
@@ -144,8 +144,8 @@ notes on their status in the migration.
<tr>
<td>Testing a Release</td>
- <td></td>
- <td>Pending</td>
+ <td>docs/developer/releaseTesting.mdtext</td>
+ <td>Done</td>
<td></td>
<td></td>
</tr>
@@ -216,8 +216,8 @@ notes on their status in the migration.
<tr>
<td>Wookie First Release</td>
- <td></td>
- <td>Pending</td>
+ <td>/docs/developer/release.html</td>
+ <td>Done</td>
<td></td>
<td></td>
</tr>
Modified: incubator/wookie/site/trunk/templates/sidenav.mdtext
URL:
http://svn.apache.org/viewvc/incubator/wookie/site/trunk/templates/sidenav.mdtext?rev=1087453&r1=1087452&r2=1087453&view=diff
==============================================================================
--- incubator/wookie/site/trunk/templates/sidenav.mdtext (original)
+++ incubator/wookie/site/trunk/templates/sidenav.mdtext Thu Mar 31 21:54:35
2011
@@ -20,7 +20,8 @@
# Development
- [Source Code](/wookie/docs/download.html)
- [Environement](/wookie/docs/develop.html)
- - [Issue Tracker](/wookie/https://issues.apache.org/jira/browse/WOOKIE)
+ - [Issue Tracker](https://issues.apache.org/jira/browse/WOOKIE)
+ - [Management](/wookie/docs/developer/index.html)
# ASF