Author: manaRH
Date: 2011-10-19 17:31:37 -0400 (Wed, 19 Oct 2011)
New Revision: 14235
Modified:
branches/community/Seam_2_3/release-process.txt
Log:
updating release process documentation
Modified: branches/community/Seam_2_3/release-process.txt
===================================================================
--- branches/community/Seam_2_3/release-process.txt 2011-10-18 08:12:33 UTC (rev 14234)
+++ branches/community/Seam_2_3/release-process.txt 2011-10-19 21:31:37 UTC (rev 14235)
@@ -20,10 +20,6 @@
- Only "issue types" that have jira's will work
- Usually that is (Bug, Feature Request, Task, and Patch)
- Check all the issue types one at a time to determine final list.
- - build/default.build.properties
- - Change the version numbers as needed
- - Set the qualifier using a "." ex. ".CR1" or ".Final"
- - Check that build.properties has the qualifier commented out
Maven repository settings
-------------------------
@@ -33,21 +29,27 @@
- Search "$SEAM/build" for "repositories".
- Comment out any repository entry not
"http://repository.jboss.org/maven2"
- Should only be entries in "root.pom.xml" and "docs.pom.xml"
- - Search "$SEAM/build" for "artifact:remoteRepository"
- - Note any that reference other repositories
- - <TODO: determine acceptable list (ci, embedded, etc...)/>
- Verify prior to tagging
- Clean our your local maven repository
- ex. "~/.m2"
- <TODO document way to set local repo settings for clean build />
- - run "ant cleanall testall testreport" with these changes
+ - Go to jboss-seam-parent and run "mvn clean verify -s
../build/settings.xml" with these changes
- This should build, and test without a problem.
- - Run "ant dependencyReport"
+ - Run "mvn depedency:tree -s ../build/settings.xml
-DoutputFile=../depedency-report.txt"
- Review for snapshot dependencies
+Staging Maven artifacts - UPDATE from tomboy note - TODO
+------------------------
+* Maven release procedure.
+ - Run "mvn clean deploy -Drepository.username=<your_username>
-Drepository.password=<your_password> stageReleaseSeam" in the build directory
+ - Then follow
http://community.jboss.org/wiki/MavenDeployingaRelease section Closing
the Staging Respository
+ - test a Seam project with staged artifacts in repository
https://repository.jboss.org/nexus/content/groups/staging/
+ - then release Maven artifacts
+
+
Internal testing before tagging for Final releases
--------------------------------------------------
-Final releases should be verified before tagging. Just note revision number after
updating changelog.txt and build/default.build.properties.
+Final releases should be verified before tagging. Just note revision number after
updating changelog.txt.
Send email to <seam-dev(a)lists.jboss.org> about frozen branch and point the QE to
the revision number.
After verification continue with creating final tag and final steps for releasing.
@@ -74,19 +76,18 @@
JDK Version Specific Information
--------------------------------
-The latest version of Sun's JDK 1.5 is used for building the release, and the
-majority of the testing. The JDK 1.6 section below outlines the JDK 1.6
-building and testing process used during the release process.
+The latest version of Sun's JDK 1.6 is used for building the release, and the
+majority of the testing.
Building and Checking Dist
--------------------------
* Run "mkdir ../releaselogs" for release artifacts and logs.
* Create the distribution build
- - run "ant cleanall dist > ../releaselogs/x.x.x.XX.distbuild.txt"
+ - run "mvn clean install -s ../build/settings.xml -Pdistribution >
../releaselogs/x.x.x.XX.distbuild.txt"
- Use the dist build for all example tests
-* Diff the zip, gz, and exploded version of the dist build
+* Diff the zip, tar.gz, and exploded version of the dist build
- example of how to do it:
- explode the zip and gz into "../tmp/zip" and "../tmp/gz"
- cp distribution directory into "../tmp/dist"
@@ -101,10 +102,8 @@
* check that the following files/directories exist in the dist "ls -1"
bootstrap
build
- build.properties
- build.xml
changelog.txt
- dependency-report.txt
+??? dependency-report.txt
doc
examples
extras
@@ -113,14 +112,13 @@
readme.txt
seam
seam-gen
- seam-text.g
seam.bat
seam2migration.txt
seam21migration.txt
src
- ui
* check that the following source directories exist in the dist "ls -1 src"
+--------------------- TODO - rewrite --------------------------
debug
excel
gen
@@ -138,7 +136,7 @@
* Archive reports
- run these in the dist directory
find . -name *.jar > ../releaselogs/jarlist.txt
- find . -name *.sar > ../releaselogs/sarlist.txt
+??? find . -name *.sar > ../releaselogs/sarlist.txt
find . -name *.war > ../releaselogs/warlist.txt
find . -name *.ear > ../releaselogs/earlist.txt
find . -name *.zip > ../releaselogs/ziplist.txt
@@ -151,18 +149,15 @@
- Clean our your local maven repository
- ex. "rm -Rf ~/.m2"
- <TODO document way to set local repo settings for clean build/>
- - Create a copy of the $DIST directory
- - rename the copy with "*.orig"
- - the idea is the leave the original pristine for example testing.
** Source verification **
- - run "ant > ../releaselogs/x.x.x.XX.sourcebuild.txt"
+ - Go to jboss-seam-parent and run "mvn clean install -s
../build/settings.xml > ../releaselogs/x.x.x.XX.sourcebuild.txt"
- diff the original and the built versions of the $DIST directories
- only difference should be build related
- <TODO: list expected differences/>
- Extract seam jars from orig, and the newly built into tmp directories
- diff the directories
- - Should be no differences except version of ant and/or jdk versions
+ - Should be no differences except version of Maven and/or jdk versions
** Dependency report **
- "ant dependencyReport >
../releaselogs/x.x.x.XX.dependencybuild.txt"
@@ -170,13 +165,12 @@
- Review for snapshot dependencies
- there should be none.
- Compare with real jar versions from META-INF/MANIFEST.MF
- - <TODO: A tool is needed to do this effectively/>
+ - use Tatletale for creating reports
(
http://www.jboss.org/tattletale/downloads)
** Testsuite execution **
- - "ant cleanall validateall testall testreport
- > ../releaselogs/x.x.x.XX.testallreport.txt"
- - check report/junit-noframes.html
- - There should be no failures or errors.
+ - "mvn clean verify > ../releaselogs/x.x.x.XX.testallreport.txt"
+ - check ../releaselogs/x.x.x.XX.testallreport.txt
+ - There should be no failures or errors.
- run "cp -R test-output ../releaselogs"
- run "cp -R test-report ../releaselogs"
@@ -199,16 +193,12 @@
- "$DIST/examples/readme.txt"
* For these examples verify the following:
- readme.txt is accurate
- - ant deploy
- - ant tomcat.deploy - for supported examples
- - ant test
- - ant clean
- - ant undeploy
+ - mvn clean package -P<container-profile> - more details in example root
+ - mvn jboss:hard-deploy (while export JBOSS_HOME=<installation_path>)
+ - mvn clean verify
* Examples with "(tutorial)" are discussed in the reference guide tutorial.
- document should be validated as well
- including tomcat deployments
-* Edit the $dist/build.properties and set the jboss.home and tomcat.home
- - JBoss AS 5.1.0.GA and Tomcat 6.X
* JBoss 5.1.0 examples
- blog (tutorial)
- booking (tutorial)
@@ -263,6 +253,8 @@
---------------------------------
The functionality of most examples can be verified by automated tests. There are also
jobs
at Hudson system which run the testsuites periodically.
+
+Set JBOSS_HOME or CATALINA_HOME environment property for automatic deployment of example
for ftesting.
* JBoss 5.1.0 examples
The following examples are tested automatically:
@@ -279,7 +271,7 @@
* messages (tutorial)
* nestedbooking
* numberguess (tutorial)
- * openid (need to set properties openid.account and openid.password in ftest.properties
file)
+ * openid (need to set properties openid.account and openid.password on command line for
Maven)
* quartz
* registration (tutorial)
* remoting/helloworld
@@ -310,11 +302,14 @@
All automated tests are executed from src/test/ftest directory.
* To run the automated tests:
- ant testall.jboss5
+ mvn clean verify -Pjbossas51,ftest-jbossas
* To test examples manually:
- ant deploy (in SEAM_DIR/examples/<example_name>/)
+ cd <example_name>
+ mvn clean package;
+ export JBOSS_HOME=<installation-path-to-jboss-as-5.1>
+ cd <example>-{ear,war} jboss:hard-deploy
...test manually
- ant undeploy
+ mvn jboss:hard-undeploy
* Tomcat 6 examples (with JBoss embedded)
The following examples are tested (automatically):
@@ -331,30 +326,24 @@
* seampay
* todo (tutorial)
- All automated tests are executed from src/test/ftest directory.
- * To run the automated tests:
- ant testall.jboss-embedded
-
* Tomcat 6 examples (without JBoss embedded)
The following examples are tested (automatically):
* hibernate (tutorial)
* jpa
-All automated tests are executed from src/test/ftest directory.
- * To run the automated tests:
- ant testall.tomcat6
+All automated tests are executed from examples directory.
+* To run the automated tests:
+ mvn clean verify -Ptomcat,ftest-tomcat
Most of the examples can be tested automatically also with JBoss 4.x. However there are
exceptions
(the newest functional test were tested only on JBoss 5.x and later). The automated test
can
-be executed with JBoss 4.x if there is a file jboss4.xml at
src/test/ftest/examples/<example_name>/
-directory)
+be executed with JBoss 4.x if there is defined jbossas42 <example_name>/pom.xml
* To run the automated tests with JBoss 4.x:
- ant testall.jboss4
-
+ mvn clean verify -Pjbossas42,ftest-jbossas
-Testing of Cluster
+Testing of Cluster - TODO update for 2.3.0
------------------
Currently testing of cluster environment is done through one automated test of booking
example.
The main goal of this test is to simulate recovery from breakdown.
@@ -374,7 +363,7 @@
** A booking example is configured to run in cluster only on JBoss server. **
-JBDS and seam-gen verification
+JBDS and seam-gen verification - TODO update for 2.3.0
------------------------------
These tests use a stable version of MySQL and the latest release of JBDS. Be sure
to use the latest stable release of tools (2.1.1.GA at the time of writing), and
@@ -464,7 +453,7 @@
* JBDS - test a subset of the examples with testNG plugin.
- See "/readme.txt" and "/examples/readme.txt" for details.
-Portlet Bridge Verification
+Portlet Bridge Verification - TODO update for 2.3.0
--------------------------
* Use the latest released version of the JBoss Portlet Bridge (PBR) and GateIn.
- for PBR source distribution is preferred
@@ -508,55 +497,6 @@
- <TODO: DEFER - this is not supported in the bridge yet/>
- <TODO: there may be a new chatroom seam portlet for this testing/>
-JDK 1.6 Specific Testing
--------------------------
-The latest available version of Sun's JDK 1.6 will be used for tests and steps
-in this section.
-
-<NOTE: 2.1.0.B1 will be the first execution of this process - it needs to be
- reviewed, and modified as needed/>
-
-* Building and comparing the JDK1.6 built distribution
- - checkout a clean version of the tag in a new/clean directory.
- - run "ant cleanall dist > ../releaselogs/x.x.x.XX.jdk16distbuild.txt"
- - use this dist for all testing in this section
- - diff the JDK 1.5 version of the dist to the JDK 1.6
- - <TODO create a listing of expected changes/>
-
-* Source build validation
- - Follow the steps above for Source Verification
- - except put "jdk16" in the log file redirects
-
-* Testsuite execution
- - Follow the steps above for Testsuite Execution
- - except put "jdk16" in the log file and artifact names
-
-* Example execution
- - There will not be a complete testing of the examples on 1.6
- - The list below should be modified as needed based on risk
-
- ** JBoss 4.2.3 examples **
- - booking
- - dvdstore
- - excel
- - nestedbooking
- - remoting/chatroom
- - seamspace
- - ui
- - wicket
- ** Tomcat 6 examples **
- - booking
- - jpa
- - jpa without embedded
- ** GlassFish v2.1 examples **
- - jee5
- - jpa
-
-* seam-gen
- - Follow the steps above for seam-gen testing
- - EAR app
- - WAR app
-
Document review
---------------
* Review the API javadocs in both IE and FF.
@@ -572,13 +512,12 @@
--------------
* When ready for the release
- checkout a clean version of the tag in a new/clean directory.
- - run "ant cleanall dist -Dbuild.translations=true >
../releaselogs/x.x.x.XX.finaldistbuild.txt"
+??? - run "mvn clean install -Pdistribution -Dbuild.translations=true >
../releaselogs/x.x.x.XX.finaldistbuild.txt"
- diff this to the one used for testing
* Follow instructions for sourceforge upload
- Create md5 files for the ".zip" and ".tar.gz" files
- <QUESTION: do we want to create md5 files for the archives/>
- - <NOTE: not for 2.0.X/>
- upload the .zip and .tar.gz and md5 files
- FTP to your SF users "/incoming" directory
@@ -591,15 +530,9 @@
- Add the files uploaded to the release
- Keep everything hidden for now.
-* Upload the "$DIST/doc" directory to "docs.jboss.com/seam/<NEW
VERSION>"
+* Upload the "seam-reference-guide/target/*.war" file content to
"docs.jboss.com/seam/<NEW VERSION>"
- Note: this can take a long time.
-* Maven release procedure.(see build/readme.txt for details)
- - Run "ant -Drepository.username=<your_username>
-Drepository.password=<your_password> stageReleaseSeam" in the build directory
- - Then follow
http://community.jboss.org/wiki/MavenDeployingaRelease section Closing
the Staging Respository
- - test a Seam project with staged artifacts in repository
https://repository.jboss.org/nexus/content/groups/staging/
- - then release Maven artifacts
-
* Create draft of the documentation and download pages on
seamframework.org
- documentation points to "docs.jboss.com"
- downloads point to sourceforge download page