Author: psharples
Date: Wed Apr 25 16:55:54 2012
New Revision: 1330416
URL: http://svn.apache.org/viewvc?rev=1330416&view=rev
Log:
fixes to layout
Modified:
incubator/wookie/site/trunk/content/wookie/docs/developer/release-process.mdtext
Modified:
incubator/wookie/site/trunk/content/wookie/docs/developer/release-process.mdtext
URL:
http://svn.apache.org/viewvc/incubator/wookie/site/trunk/content/wookie/docs/developer/release-process.mdtext?rev=1330416&r1=1330415&r2=1330416&view=diff
==============================================================================
---
incubator/wookie/site/trunk/content/wookie/docs/developer/release-process.mdtext
(original)
+++
incubator/wookie/site/trunk/content/wookie/docs/developer/release-process.mdtext
Wed Apr 25 16:55:54 2012
@@ -97,85 +97,88 @@ Ideally we'd want a +3 from the committe
### 4. Check all files for license headers
-Use the [Release Audit Tool
(RAT)](http://ci.apache.org/projects/wookie/rat-output.html) report to find any
missing license headers. Fix any missing entries.
+ Use the [Release Audit Tool
(RAT)](http://ci.apache.org/projects/wookie/rat-output.html) report to find any
missing license headers. Fix any missing entries.
### 5. Update all references to SNAPSHOT in the properties files and update
the pom-templates
1. Find the version reference '*.*.*-incubating-SNAPSHOT' in the following
files. Update it in each case removing the '-SNAPSHOT' at the end, so that it
reads '*.*.*-incubating'
- /build.properties
- /ivy.xml
- /connector/java/build.properties
- /connector/java/ivy.xml
- /modules/jcr/build.properties
- /modules/jcr/ivy.xml
- /parser/java/build.properties
- /parser/java/ivy.xml
- /src/widgetserver.properties
- /etc/release/runsignatures.bat
+ - /build.properties
+ - /ivy.xml
+ - /connector/java/build.properties
+ - /connector/java/ivy.xml
+ - /modules/jcr/build.properties
+ - /modules/jcr/ivy.xml
+ - /parser/java/build.properties
+ - /parser/java/ivy.xml
+ - /src/widgetserver.properties
+ - /etc/release/runsignatures.bat
- 2. Update the 3 pom-template.xml files so that the scm values reference the
tag version to be created
+ 1. Update the 3 pom-template.xml files so that the scm values reference the
tag version to be created
- /pom-template.xml
+ - /pom-template.xml
Find...
+ <pre>
<scm>
<connection>scm:svn:http://svn.apache.org/repos/asf/incubator/wookie/trunk</connection>
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/incubator/wookie/trunk/</developerConnection>
<url>http://svn.apache.org/viewvc/incubator/wookie/trunk/</url>
</scm>
-
+ </pre>
+
...and update it (with correct version number) to read...
-
+ <pre>
<scm>
<connection>scm:svn:http://svn.apache.org/repos/asf/incubator/wookie/tags/*.*.*-incubating</connection>
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/incubator/wookie/tags/*.*.*-incubating/</developerConnection>
<url>http://svn.apache.org/viewvc/incubator/wookie/tags/*.*.*-incubating/</url>
</scm>
-
+ </pre>
+
Do the same with the following two files...
- /connector/java/pom-template.xml
- /parser/java/pom-template.xml
+ - /connector/java/pom-template.xml
+ - /parser/java/pom-template.xml
- 3. Commit your changes back to svn.
+ 1. Commit your changes back to svn.
### 6. Inform committers of temporary code freeze
- Send an email to [email protected] informing that you are
about to tag the trunk.
- (just in case there are commits while you are doing it. It only takes
a minute to tag it, so not a long freeze.)
+ Send an email to [email protected] informing that you are
about to tag the trunk.
+ (just in case there are commits while you are doing it. It only takes a
minute to tag it, so not a long freeze.)
### 7. Create a tag of the current trunk state.
- 1. Ensure you have checked out a clean copy of the trunk from
svn.
- 2. In Eclipse select the wookie root folder and right click.
Choose team -> Tag...
- 3. A dialog appears.
- 4. In the Tag: box enter the release version number i.e.
'0.10.0-incubating'
- - use the same version here as you entered in step
(5.2) when updating the pom-template files
- 5. In the Comment box enter something sensible i.e. 'wookie
release 0.10.0-incubating'
- 6. Click ok to create the tag.
- 7. If you tick the "Start working in the tag" box, the tag will
be created and your local copy will update to the tagged version
- 8. Verify the tag was created correctly & in the right place.
- - In the Eclipse SVN Repository Exploring view you can
navigate to svn.apache.org/repos/asf/incubator/wookie/tags/ and make sure the
tag exists.
-
+ 1. Ensure you have checked out a clean copy of the trunk from svn.
+ 1. In Eclipse select the wookie root folder and right click. Choose team ->
Tag...
+ 1. A dialog appears.
+ 1. In the Tag: box enter the release version number i.e. '0.10.0-incubating'
+ - use the same version here as you entered in step (5.2) when updating the
pom-template files
+ 1. In the Comment box enter something sensible i.e. 'wookie release
0.10.0-incubating'
+ 1. Click ok to create the tag.
+ 1. If you tick the "Start working in the tag" box, the tag will be created
and your local copy will update to the tagged version
+ 1. Verify the tag was created correctly & in the right place.
+ - In the Eclipse SVN Repository Exploring view you can navigate to
svn.apache.org/repos/asf/incubator/wookie/tags/ and make sure the tag exists.
+
### 8. Roll version number forward in all properties files in the trunk.
- 1. If you haven't already, switch back to the trunk.
- 2. Find all the files listed in step (#5.1) above.
- 3. Update all the entries to the next version-SNAPSHOT - i.e.
0.11.0-incubating-SNAPSHOT
- 4. Update the 3 pom-template.xml files in step (#5.2) above so
that they point back at the trunk again
- 5. Commit your changes
-
+ 1. If you haven't already, switch back to the trunk.
+ 1. Find all the files listed in step (#5.1) above.
+ 1. Update all the entries to the next version-SNAPSHOT - i.e.
0.11.0-incubating-SNAPSHOT
+ 1. Update the 3 pom-template.xml files in step (#5.2) above so that they
point back at the trunk again
+ 1. Commit your changes
+
### 9. Inform commiters that you have finished
-
- Send an email to [email protected] informing that you
have tagged the trunk for the build and that the trunk has now rolled to the
next version. (which also means the freeze has been lifted)
-
+
+ Send an email to [email protected] informing that you have
tagged the trunk for the build and that the trunk has now rolled to the next
version. (which also means the freeze has been lifted)
+
### 10. Run the build script
- 1. Switch back to the trunk. Run the ant task
'build-release-all' found in the root build.xml file
- - either use eclipse to run it or use 'ant
build-release-all' on the command line at the wookie root folder
- 2. This should generate a new folder at the root of wookie
called 'release' containing the following structure...
-
+ 1. Switch back to the trunk. Run the ant task 'build-release-all' found in
the root build.xml file
+ - either use eclipse to run it or use 'ant build-release-all' on the
command line at the wookie root folder
+ 1. This should generate a new folder at the root of wookie called 'release'
containing the following structure...
+<pre>
release
+ *.*.*-incubating
+ binary
@@ -192,164 +195,155 @@ Use the [Release Audit Tool (RAT)](http:
apache-wookie-*.*.*-incubating-src.zip
rat-report.txt
runsignatures.bat
-
- 3. The rat-report.txt files are for your reference and can be
removed when checked.
- 4. Open a command prompt and run the 'runsignatures.bat' file
- (AUTHOR NOTE: we need to either also supply a .sh version of
this or better still automate it)
- - This creates the ASC signatures, MD5 and SHA files
needed for file verification
- - This will only work if you have already followed the
steps outlined in the [Release Setup](release-configuration.html)
- 5. Manually check the ASC, MD5 and SHA files are correct
- - The generated ASC files are automatically checked
when you run the 'runsignatures.bat' (see how in the file), but the SHA and MD5
are not
- - These can be checked using openssl at the command
prompt, for example...
- - 'openssl sha512 <buildname.zip>' - should
generate same key on screen as found in the buildname.zip.sha file
- - 'openssl md5 <buildname.zip>' - should
generate same key on screen as found in the buildname.zip.md5 file
- 6. Open each build artifact and test that it...
- - contains the correct NOTICE & LICENSE files
where appropriate
- - the source builds will build from the command
prompt, using 'ant compile-core'
- - the standalone builds will run when you click
it's startup script (May need to add executable permissions on mac/linux)
- - examine the WAR build for integrity (also
ideally drop the WAR file into a preconfigured tomcat/mysql instance on your
machine to make sure it deploys/works okay)
-
+</pre>
+ 1. The rat-report.txt files are for your reference and can be removed when
checked.
+ 1. Open a command prompt and run the 'runsignatures.bat' file
+ - (AUTHOR NOTE: we need to either also supply a .sh version of this or
better still automate it)
+ - This creates the ASC signatures, MD5 and SHA files needed for file
verification
+ - This will only work if you have already followed the steps outlined in
the [Release Setup](release-configuration.html)
+ 1. Manually check the ASC, MD5 and SHA files are correct
+ - The generated ASC files are automatically checked when you run the
'runsignatures.bat' (see how in the file), but the SHA and MD5 are not
+ - These can be checked using openssl at the command prompt, for example...
+ - 'openssl sha512 <buildname.zip>' - should generate same key on
screen as found in the buildname.zip.sha file
+ - 'openssl md5 <buildname.zip>' - should generate same key on screen
as found in the buildname.zip.md5 file
+ 1. Open each build artifact and test that it...
+ - contains the correct NOTICE & LICENSE files where appropriate
+ - the source builds will build from the command prompt, using 'ant
compile-core'
+ - the standalone builds will run when you click it's startup script (May
need to add executable permissions on mac/linux)
+ - examine the WAR build for integrity (also ideally drop the WAR file into
a preconfigured tomcat/mysql instance on your machine to make sure it
deploys/works okay)
+
### 11. Upload the artifacts to people.apache.org
- 1. Make sure you delete the 3 rat-report.txt files (otherwise the next
stage will upload them)
- 2. From the 'wookie/release' folder run the following to upload the
generated build folder and artifacts...
-
- scp -r ${project.version}
${user.name}@people.apache.org:/www/people.apache.org/builds/incubator/wookie/
-
- ...substituting the ${project.version} with the folder name of the
generated artifacts i.e...
-
- scp -r ./0.10.0-incubating
[email protected]:/www/people.apache.org/builds/incubator/wookie/
-
- (Note: the pscp utility comes with putty, rather than scp)
-
- 3. Verify they are downloadable from
http://people.apache.org/builds/incubator/wookie
+ 1. Make sure you delete the 3 rat-report.txt files (otherwise the next stage
will upload them)
+ 1. From the 'wookie/release' folder run the following to upload the
generated build folder and artifacts...
+
+ scp -r ${project.version}
${user.name}@people.apache.org:/www/people.apache.org/builds/incubator/wookie/
+
+ ...substituting the ${project.version} with the folder name of the
generated artifacts i.e...
+
+ scp -r ./0.10.0-incubating
[email protected]:/www/people.apache.org/builds/incubator/wookie/
+
+ (Note: the pscp utility comes with putty, rather than scp)
+
+ 1. Verify they are downloadable from
http://people.apache.org/builds/incubator/wookie
### 12. Upload the Nexus release artifacts
- 1. If you use eclipse to run your ant tasks then right click the
/build.xml
- - choose run as -> ant build...
- - highlight the "Main" tab and in the "Arguments" panel add the
following
-
- -Duser.name="My Name" -Dupload.user=your_apache_userid
- -Dupload.password=your_svn_password
-Dpgp.password=your_pgp_password -Dpgp.keyId=your_pgp_keyid
-
- (substituting your details where applicable)
-
- - click apply.
- 2. To check/preview the Nexus artifacts locally first run 'ant
publish-local' found in the root build.xml file
- - this publishes all artifacts (parser, connector and self
contained WAR) locally only and
- can be found under
${user.home}\.m2\repository\org\apache\wookie
- 3. Once again check to make sure the correct LICENSE and NOTICE files
appear in each /META-INF folder found within each archive
- 4. When you are happy the generated files are okay, either run the
following ant task at the command prompt to deploy to Nexus...
-
- ant publish-maven-release-artifacts
publish-subproject-artifacts-to-release-repo -Duser.name="My Name"
-Dupload.user=your_apache_userid
- -Dupload.user=your_apache_userid
-Dupload.password=your_svn_password -Dpgp.password=your_pgp_password
-Dpgp.keyId=your_pgp_keyid
-
- or if you have completed step (1.) above, simply right click the root
build.xml and choose to run 'publish-maven-release-artifacts'
- and 'publish-subproject-artifacts-to-release-repo'
- (AUTHOR NOTE: we need to merge these ant tasks into 1 call)
-
- 5. Verify the staged artifacts in the Nexus repository
- https://repository.apache.org/index.html
- Staging repositories (under Build Promotion) --> Name column
--> org.apache.wookie
- Navigate through the artifact tree and make sure that all
javadoc, sources, tests, jars, ... have .asc (GPG signature) and .md5 files.
- See http://people.apache.org/~henkp/repo/faq.html and
http://www.apache.org/dev/release-signing.html#openpgp-ascii-detach-sig
-
- 6. Close the Nexus staging repository
- https://repository.apache.org/index.html
- Staging repositories (under Build Promotion) --> Name column
--> org.apache.wookie
- Click checkbox for the open staging repo
(org.apache.wookie-XXX) and press Close in the menu bar.
+ 1. If you use eclipse to run your ant tasks then right click the /build.xml
+ - choose run as -> ant build...
+ - highlight the "Main" tab and in the "Arguments" panel add the following
+
+ -Duser.name="My Name" -Dupload.user=your_apache_userid
-Dupload.password=your_svn_password -Dpgp.password=your_pgp_password
-Dpgp.keyId=your_pgp_keyid
+
+ (substituting your details where applicable)
+
+ - click apply.
+ 1. To check/preview the Nexus artifacts locally first run 'ant
publish-local' found in the root build.xml file
+ - this publishes all artifacts (parser, connector and self contained WAR)
locally only and can be found under
${user.home}\.m2\repository\org\apache\wookie
+ 1. Once again check to make sure the correct LICENSE and NOTICE files appear
in each /META-INF folder found within each archive
+ 1. When you are happy the generated files are okay, either run the following
ant task at the command prompt to deploy to Nexus...
+
+ ant publish-maven-release-artifacts
publish-subproject-artifacts-to-release-repo -Duser.name="My Name"
-Dupload.user=your_apache_userid -Dupload.user=your_apache_userid
-Dupload.password=your_svn_password -Dpgp.password=your_pgp_password
-Dpgp.keyId=your_pgp_keyid
+
+ or if you have completed step (1.) above, simply right click the root
build.xml and choose to run 'publish-maven-release-artifacts' and
'publish-subproject-artifacts-to-release-repo'
+ (AUTHOR NOTE: we need to merge these ant tasks into 1 call)
+
+ 1. Verify the staged artifacts in the Nexus repository
+ - https://repository.apache.org/index.html
+ - Staging repositories (under Build Promotion) --> Name column -->
org.apache.wookie
+ - Navigate through the artifact tree and make sure that all javadoc,
sources, tests, jars, ... have .asc (GPG signature) and .md5 files.
+ - See http://people.apache.org/~henkp/repo/faq.html and
http://www.apache.org/dev/release-signing.html#openpgp-ascii-detach-sig
+
+ 1. Close the Nexus staging repository
+ - https://repository.apache.org/index.html
+ - Staging repositories (under Build Promotion) --> Name column -->
org.apache.wookie
+ - click checkbox for the open staging repo (org.apache.wookie-XXX) and
press Close in the menu bar.
### 13. Put the release candidate up for a vote on the wookie-dev list
- 1. Create a VOTE email thread on wookie-dev@ to record votes as
replies, like [this](release-vote.txt)
- 2. Create a DISCUSS email thread on wookie-dev@ for any vote questions,
[this](release-discuss.txt)
- 3. Perform a review of the release and cast your vote. See the
following for more details on Apache releases
-
-
[http://www.apache.org/dev/release.html](http://www.apache.org/dev/release.html)
-
- 4. A -1 vote does not necessarily mean that the vote must be redone,
however it is usually a good idea to rollback the release if a -1 vote is
received.
- - See - Recovering from a vetoed release
-
- 5. 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
- - reply to the initial email and prepend to the original
subject "[RESULT]"
- - Include a list of everyone who voted +1, 0 or -1.
+ 1. Create a VOTE email thread on wookie-dev@ to record votes as replies,
like [this](release-vote.txt)
+ 1. Create a DISCUSS email thread on wookie-dev@ for any vote questions,
[this](release-discuss.txt)
+ 1. Perform a review of the release and cast your vote. See the following for
more details on Apache releases
+
+
[http://www.apache.org/dev/release.html](http://www.apache.org/dev/release.html)
+
+ 1. A -1 vote does not necessarily mean that the vote must be redone, however
it is usually a good idea to rollback the release if a -1 vote is received.
+ - See - Recovering from a vetoed release
+
+ 1. 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
+ - reply to the initial email and prepend to the original subject "[RESULT]"
+ - Include a list of everyone who voted +1, 0 or -1.
### 14. Put the release candidate up for a vote on the incubator general list
-
- 1. Create similar VOTE email on the [email protected] list,
like [this](release-vote-general.txt)
- - Depending on how many binding +1 IPMC votes the release
candidates received, you may need to wait for additional ones from the general
list
- 2. After the vote has been open for at least 72 hours and has at least
three +1 IPMC votes (in total) then post the results to the vote thread
- - reply to the initial email and prepend to the original
subject "[RESULT]"
- - Include a list of everyone who voted +1, 0 or -1.
- 3. NOTE: For the release candidate to be successful it must at least
have received at least 3 +1 IPMC votes combined from both wookie-dev and
general.
+
+ 1. Create similar VOTE email on the [email protected] list, like
[this](release-vote-general.txt)
+ - Depending on how many binding +1 IPMC votes the release candidates
received, you may need to wait for additional ones from the general list
+ 1. After the vote has been open for at least 72 hours and has at least three
+1 IPMC votes (in total) then post the results to the vote thread
+ - reply to the initial email and prepend to the original subject "[RESULT]"
+ - Include a list of everyone who voted +1, 0 or -1.
+ 1. NOTE: For the release candidate to be successful it must at least have
received at least 3 +1 IPMC votes combined from both wookie-dev and general.
### 15. Finalizing a release
- 1. Promote the staged nexus artifacts
- - https://repository.apache.org/index.html
- - Staging repositories (under Build Promotion) --> Name column
--> org.apache.wookie
- - Click checkbox of the closed staging repo
(org.apache.wookie-***) and select Release.
- 2. Copy the release artifacts over to the distribution area
- - login to people.apache.org and copy across the build folder
-
- cp -r
/www/people.apache.org/builds/incubator/wookie/*.*.*-incubating
/www/www.apache.org/dist/incubator/wookie
-
- (replacing the version name accordingly)
-
- - verify the folder and contents copied across okay.
- 3. Delete the staged version (cleanup)
- - login to people.apache.org (if not already) and delete the
old staged release
-
- rm -rfv
/www/people.apache.org/builds/incubator/wookie/*.*.*-incubating
-
- (replacing the version name accordingly)
-
- 4. Update the staged website
- - Update the downloads page to add new version using the
mirrored URLs
- - Modify the URL for the prior release to the archived URL for
the release
-
- 5. Publish the website
- - Wait 24hrs after committing releases for mirrors to replicate
- - Publish updates to the download page
+ 1. Promote the staged nexus artifacts
+ - https://repository.apache.org/index.html
+ - Staging repositories (under Build Promotion) --> Name column -->
org.apache.wookie
+ - click checkbox of the closed staging repo (org.apache.wookie-***) and
select Release.
+ 1. Copy the release artifacts over to the distribution area
+ - login to people.apache.org and copy across the build folder
+
+ cp -r /www/people.apache.org/builds/incubator/wookie/*.*.*-incubating
/www/www.apache.org/dist/incubator/wookie
+
+ (replacing the version name accordingly)
+
+ - verify the folder and contents copied across okay.
+ 1. Delete the staged version (cleanup)
+ - login to people.apache.org (if not already) and delete the old staged
release
+
+ rm -rfv /www/people.apache.org/builds/incubator/wookie/*.*.*-incubating
+
+ (replacing the version name accordingly)
+
+ 1. Update the staged website
+ - Update the downloads page to add new version using the mirrored URLs
+ - Modify the URL for the prior release to the archived URL for the release
+
+ 1. Publish the website
+ - Wait 24hrs after committing releases for mirrors to replicate
+ - Publish updates to the download page
### 16. Update JIRA
- 1. Update the JIRA versions page to close all issues, mark the version
as "released", 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.
+ 1. Update the JIRA versions page to close all issues, mark the version as
"released", 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.
### 17. Announcing the release
- 1. Make a news announcement on the Wookie News page.
- 2. Make an announcement about the release on the following lists
- - [email protected]
- - [email protected]
- - [email protected]
-
+ 1. Make a news announcement on the Wookie News page.
+ 1. Make an announcement about the release on the following lists
+ - [email protected]
+ - [email protected]
+ - [email protected]
+
### 18. Recovering from a vetoed release
- 1. Reply to the initial vote email and prepend to the original subject -
+ 1. Reply to the initial vote email and prepend to the original subject -
[CANCELED]
- 2. Delete the svn tag you created in step (7) above. Either use eclipse to
do this or via command prompt
-
- $ svn del
https://svn.apache.org/repos/asf/incubator/wookie/tags/${project.version} -m
"deleting tag from rolled back release"
-
- 3. Delete the build artifacts on people
-
- $ rm -rfv
/www/people.apache.org/builds/incubator/wookie/${project.version}
-
- 4. Drop the nexus staging repo
- https://repository.apache.org/index.html
- Enterprise --> Staging
- Staging tab --> Name column --> org.apache.wookie
- Right click on the closed staging repo (org.apache.wookie-XXX) and
select Drop.
-
- 5. Make the required updates that caused the vote to be canceled during
the next release cycle
+ 1. Delete the svn tag you created in step (7) above. Either use eclipse to
do this or via command prompt
+ $ svn del
https://svn.apache.org/repos/asf/incubator/wookie/tags/${project.version} -m
"deleting tag from rolled back release"
+ 1. Delete the build artifacts on people
+ $ rm -rfv /www/people.apache.org/builds/incubator/wookie/${project.version}
+ 1. Drop the nexus staging repo
+ - https://repository.apache.org/index.html
+ - Enterprise --> Staging
+ - Staging tab --> Name column --> org.apache.wookie
+ -Right click on the closed staging repo (org.apache.wookie-XXX) and
select Drop.
-
\ No newline at end of file
+ 1. Make the required updates that caused the vote to be canceled during the
next release cycle
+
\ No newline at end of file