[seam-commits] Seam SVN: r8270 - branches/Seam_2_0.
seam-commits at lists.jboss.org
seam-commits at lists.jboss.org
Fri May 23 11:11:36 EDT 2008
Author: jbalunas at redhat.com
Date: 2008-05-23 11:11:35 -0400 (Fri, 23 May 2008)
New Revision: 8270
Modified:
branches/Seam_2_0/release-process.txt
Log:
large update to release process based on updates and findings during the 2.0.2.GA release.
Modified: branches/Seam_2_0/release-process.txt
===================================================================
--- branches/Seam_2_0/release-process.txt 2008-05-23 14:13:07 UTC (rev 8269)
+++ branches/Seam_2_0/release-process.txt 2008-05-23 15:11:35 UTC (rev 8270)
@@ -5,8 +5,10 @@
------------------------
* Send an email to seam-dev at lists.jboss.org.
- State a version of the following :
- - As all issues in JIRA for Seam <release> are now resolved, the release process for <release> is now underway.
- - Please don't make any commits to the <branch or trunk> without checking with this mail list first.
+ - As all issues in JIRA for Seam <release> are now resolved, the release
+ process for <release> is now underway. Please don't make any commits to
+ the <branch or trunk> without checking with and getting approval from
+ this mail list first.
Updating version numbers
------------------------
@@ -21,49 +23,50 @@
- build/default.build.properties
- Change the version numbers as needed
- Set the qualifier using a "." ex. ".CR1" or ".GA"
- - Check that build.properties has the qualifier commented out for the release
+ - Check that build.properties has the qualifier commented out
Maven repository settings
-------------------------
* A released version of seam should not reference any repositories other than
"repository.jboss.org". See "build/readme.txt" for details.
- Search "$SEAM/build" for "repositories".
- - Verify/Comment out any repository entry not "http://repository.jboss.org/maven2"
+ - 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
- This should build, and test without a problem.
+ - Run "ant dependencyReport"
+ - Review for snapshot dependencies
SVN tagging and checkout
------------------------
-* Note: testing can begin prior to official tagging but a complete process should be executed on the tag prior to release.
+<NOTE testing can begin prior to official tagging but a complete process
+ should be executed on the tag prior to release/>
* Tag the release (XX as needed)
- -"svn copy https://svn.jboss.org/repos/seam/XX/XX https://svn.jboss.org/repos/seam/tags/JBoss_Seam_x_x_x_XXX -m "create JBoss_Seam_x_x_x_XXX tag""
- - ex. "svn copy https://svn.jboss.org/repos/seam/branches/Seam_2_0 https://svn.jboss.org/repos/seam/tags/JBoss_Seam_2_0_2_CR1"
+ -"svn copy https://svn.jboss.org/repos/seam/XX/XX
+ https://svn.jboss.org/repos/seam/tags/JBoss_Seam_x_x_x_XXX
+ -m "create JBoss_Seam_x_x_x_XXX tag""
+ - ex. "svn copy https://svn.jboss.org/repos/seam/branches/Seam_2_0
+ https://svn.jboss.org/repos/seam/tags/JBoss_Seam_2_0_2_CR1
+ -m "create JBoss_Seam_2_0_2_CR1 tag""
* In a clean directory checkout the newly tagged seam source ( XX as needed)
- "svn co https://svn.jboss.org/repos/seam/tags/JBoss_Seam_x_x_x_XXX seam"
- ex. "svn co https://svn.jboss.org/repos/seam/tags/JBoss_Seam_2_0_2_CR1 seam"
* In the original branch/trunk change:
- Qualifier back to "-SNAPSHOT" in default.build.properties file.
- - The version numbers should stay the same
+ - The version numbers should be incremented as appropriate.
- Any new work is that versions snapshot
- - Revert the Maven repository changes if needed
+ - Revert any Maven repository changes if needed
Building and Checking Dist
--------------------------
-* Run "mkdir ../releaselogs" for release artifacts.
-
-* Initial build and test suite execution
- - run initial build to download dependencies and setup env.
- - run "ant > ../releaselogs/x.x.x.XX.initbuild.txt"
- - run "ant -Dvalidate.xml=true cleanall testall testreport > ../releaselogs/x.x.x.XX.testallreport.txt"
- - check report/junit-noframes.html
- - There should be no failures or errors.
- - run "cp -R test-output ../releaselogs"
- - run "cp -R test-report ../releaselogs"
+* Run "mkdir ../releaselogs" for release artifacts and logs.
* Create the distribution build
- run "ant cleanall dist > ../releaselogs/x.x.x.XX.distbuild.txt"
@@ -77,6 +80,8 @@
- "diff -r ./gz/. ./zip/."
- "diff -r ./gz/. ./dist/."
- There should be no differences.
+ - Compare the new dist to dist of the previous version using the same method
+ - Manually look over for any glaring differences or errors.
- Delete "../tmp" if you wish
* check that the following files/directories exist in the dist "ls -1"
@@ -89,7 +94,6 @@
examples
lgpl.txt
lib
- mail
readme.txt
seam
seam-gen
@@ -142,7 +146,7 @@
* Archive reports
- run these in the dist directory
- find . -name *.jar > ../releaselogs/jarlist.txt
+ find . -name *.jar > ../releaselogs/jarlist.txt
find . -name *.sar > ../releaselogs/sarlist.txt
find . -name *.war > ../releaselogs/warlist.txt
find . -name *.ear > ../releaselogs/earlist.txt
@@ -150,25 +154,43 @@
find . -name *.gz > ../releaselogs/gzlist.txt
find . -name *seam*.jar > ../releaselogs/seamjarlist.txt
- Manually review the lists for problems
- - seam jars all in one place
- - <TODO: list expected items or provide listing in svn>
+ - <TODO: list expected items or provide listing in svn/>
-* In the dist run "ant dependencyReport"
- - run "cp ./dependency-report.txt ../releaselogs"
- - 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 effectivly.>
-
-* Built source verification
+* Built source verification, dependency report & test suite
+ - 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
- - In the original run "ant"
- - diff the original and the built versions
- - only difference should be build related
- - <TODO: list expected differences>
- - Extract seam jars from orig, and the newly built into different dirs
- - diff the directories
- - Should be no differences except version of ant and/or jdk versions
+ - the idea is the leave the original pristine for example testing.
+
+ ** Source verification **
+ - In the copy run "ant > ../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
+
+ ** Dependency report **
+ - In the copy run:
+ - "ant dependencyReport > ../releaselogs/x.x.x.XX.dependencybuild.txt"
+ - run "cp ./dependency-report.txt ../releaselogs"
+ - 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/>
+
+ ** Testsuite execution **
+ - In the copy run :
+ - "ant -Dvalidate.xml=true cleanall testall testreport
+ > ../releaselogs/x.x.x.XX.testallreport.txt"
+ - check report/junit-noframes.html
+ - There should be no failures or errors.
+ - run "cp -R test-output ../releaselogs"
+ - run "cp -R test-report ../releaselogs"
+
+ - You can delete the dist copy
Example verification
--------------------
@@ -211,7 +233,6 @@
- remoting/chatroom
- remoting/gwt
- remoting/helloworld
- - remoting/poker
- remoting/progressbar
- seambay
- seamdiscs
@@ -267,39 +288,59 @@
CONSTRAINT `owner` FOREIGN KEY (`ownerUsername`) REFERENCES `Person` (`username`)
) ENGINE=InnoDB;
-* seam-gen review seam-gen chapter of the reference guide
+<NOTE: seam-gen should be able to run without an internet connection. To test
+ this you should first remove/rename your maven repository (document
+ option to set this as a property). Then either disable networking, or
+ lock down a firewall on the test machine so that no requests are allowed
+ out. Then test the various seam-gen targets. JBoss-as may not start in
+ the configuration so testing the live app may need to be done after
+ executing the various seam-gen targets. This does not have to be
+ done for each test below but the different targets should be verified./>
+
+* Review seam-gen chapter of the reference guide
- accurate and up to date
* seam-gen EAR
- - run "seam setup create-project generate-entities explode"
- - during setup choose an EAR project
- - test the basic functionality of the app (CRUD on each table)
+ - run seam with setup create-project and explode
+ - during setup choose an EAR project
+ - verify basic functionality
+ - run seam generate-entities restart
+ - test the basic functionality of the app (CRUD on each table)
- run "seam new-action new-form restart"
- - test both generated pages
- - run the unit tests in eclipse using the TestNG plugin
+ - test both generated pages
+ - run seam test
* seam-gen IceFaces EAR test
- - run "seam setup create-project generate-entities explode"
- - during setup choose an EAR project
- - during setup choose to use IceFaces instead of RichFaces
- - test the basic functionality of the app (CRUD on each table)
+ - run seam with setup create-project and explode
+ - during setup choose to use icefaces
+ - during setup choose an EAR project
+ - verify basic functionality
+ - run seam generate-entities restart
+ - test the basic functionality of the app (CRUD on each table)
+ - run seam test
* seam-gen WAR
- - run "seam setup create-project generate-entities explode"
- - during setup choose a WAR project
- - test the basic functionality of the app (CRUD on each table)
+ - run seam with setup create-project and explode
+ - during setup choose a WAR project
+ - verify basic functionality
+ - run seam generate-entities restart
+ - test the basic functionality of the app (CRUD on each table)
- run "seam new-action new-form restart"
- - test both generated pages
- - run the unit tests in eclipse using the TestNG plugin
+ - test both generated pages
+ - run seam test
* JBDS - import the EAR seam-gen generated project into JBDS.
- Enable Seam support in project properties
- Check that EL code completion works for Seam components
+ - both project specific and core components
+ - in views, and config files, etc...
- Check that Hibernate Console work on the project
- expand the Configuration node
- Open HQL editor and query "from SomeEntity" and execute the query
+ - Execute testng testcases for project
* JBDS new WAR project
- Reverse engineer entities from MySQL
- Create "new Seam Action" and "new Seam Form"
- Test generated pages (check hot deployment of Seam components, html)
- Test running unit tests from Eclipse
* JBDS new EAR project
+ - <NOTE JBIDE-1862 will require changes to the generated project/>
- Reverse engineer entities from MySQL
- Create "new Seam Action" and "new Seam Form"
- Test generated pages (check hot deployment of Seam components, html)
@@ -309,41 +350,72 @@
Portal Bridge Verification
--------------------------
-* Use the latest released version of the PortalBridge and JBoss Portal.
+* Use the latest released version of the PortalBridge (PBR) and JBoss Portal.
- http://labs.jboss.com/portletbridge
- http://www.jboss.org/jbossportal/
-* Deploy and verify the bridge booking example to JBoss portal.
+* <NOTE: because the bridge is beta first test the example using the PBR
+ distribution. Then follow the steps below to upgrade the seam
+ version in the example. Then retest the example./>
+* Deploy PBR seam booking example following the PBR document instructions.
+ - Review any known issues with the PBR in the PBR Jira project.
+* Verify the example and functionality.
+ - User authentication through portal
+ - use default users, and new users that are created
+ - Basic hotel booking
+ - user both text search and search button
+ - change dates, and options in the booking
+ - confirm, logout, login, verify confirmation, cancel confirmation
+ - Conversation handling
+ - launch several hotels booking conv. from the search page
+ - individually confirm and switch between conversations.
+ - <NOTE: logging in/out through the portlet, registering new users, and
+ changing passwords do not work, and jiras have been entered
+ for them to be removed as it is integrated with portal auth/>
+* Upgrade the seam version in the seam portlet booking example
+ - download the src distribution of the PBR
+ - edit the $PBR_SRC/examples/seam/booking/seamBookingPortlet/pom.xml file
+ - adjust the seam version properties at the top of the file
+ - build the example by running "mvn install" in the $PBR_SRC/examples dir
+ - <NOTE: You may need to remove the "javassist.jar" from both the EAR
+ and WAR lib directories. This is related to PBR-2 - but for some
+ reason the javassist.jar is still placed in both./>
* Deploy a second version of the booking example as a separate portlet
- - <TODO: there may be a new chatroom seam portlet for this testing>
+ - <TODO: this is not supported in the bridge yet - defer/>
+ - <TODO: there may be a new chatroom seam portlet for this testing/>
* Build the seam identity extension with the booking example
- - <TODO add reference link to the instructions>
+ - <TODO this seems to be done in the 1.0.0.B2 PBR release automatically
+ - verify/>
+ - <TODO add reference link to the instructions if needed/>
- Go to the booking demo seamBookingPortlet/pom.xml
- go to the bottom and uncomment the identity module.
- - Build the booking demo and login via the portal admin link.
+ - Build the booking demo and log in via the portal admin link.
- this should automatically logs you into the seam booking demo
Document review
---------------
* Review the API javadocs in both IE and FF.
- Specifically for version differences
- - This is not a full review
+ - This is not a full review at all
* Review the Reference Guide documentation in both IE and FF.
- Review for format and code styles
- Review for version numbers, and dependencies
- Review any extensive changes based on release notes and the team.
- - This is not a full review
+ - This is not a full review at all.
Final Build + Upload
--------------
* When ready for the release
- - checkout a clean version of the tag
+ - checkout a clean version of the tag in a new/clean directory.
- run "ant cleanall dist > ../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>
- - upload the .zip and .tar.gz and md5 files to SF FTP "upload.sf.net/incoming" folder
+ - <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 "upload.sf.net/incoming"
+ - <NOTE: sf upload process may have changed - check during next release/>
* Login to sourceforge.org and go to jboss.org project
- Under admin tab click on "file releases"
@@ -351,7 +423,7 @@
- Set "Status" to "hidden"
- Paste this release changelog snippet in the "changelog"
- Paste this release readme.txt in the "release notes"
- - Add the 4 files uploaded to the release
+ - Add the files uploaded to the release
- Keep everything hidden for now.
* Upload the "$DIST/doc" directory to "docs.jboss.com/seam/<NEW VERSION>"
@@ -367,7 +439,14 @@
- to the directory you checked out to.
- Run "ant releaseSeam" in the build directory
- Review and Commit the release changes to repository.jboss.org
+ - simple script to add new files to SVN
+ - svn status | grep "^\?" | awk '{print $2}' | xargs svn add
+ - they still need to be reviewed and commited.
+* Create draft of the documentation and download pages on seamframework.org
+ - documentation points to "docs.jboss.com"
+ - downloads point to sourceforge download page
+
Final Coordination and Announcement
-----------------------------------
* For a GA release and if its newest version of Seam
@@ -381,14 +460,13 @@
* Login to sourceforge.org and modify the Seam release entry
- Change the date to today
- Change "Status" to active
-* Update the documentation and download pages on seamframework.org
- - documentation points to "docs.jboss.com"
- - downloads point to sourceforge download page
+* Update the documentation and download pages on seamframework.org with drafts.
* Update Jira so that version shows as "released"
* Announce the release
- Blog on in.relation.to
- seamframework.org news, and forums
- jboss.org news
+ - TheServerSide.com
Update Demos
------------
@@ -400,14 +478,20 @@
-----
* To reapply a tag:
- First delete the original
- - svn delete https://svn.jboss.org/repos/seam/tags/JBoss_Seam_x_x_x_XXX -m "removing old tag prior to applying updated tag"
- - ex. svn delete https://svn.jboss.org/repos/seam/tags/JBoss_Seam_2_0_2_CR1 -m "removing old tag prior to applying updated tag"
+ - svn delete https://svn.jboss.org/repos/seam/tags/JBoss_Seam_x_x_x_XXX
+ -m "removing old tag prior to applying updated tag"
+ - ex. svn delete https://svn.jboss.org/repos/seam/tags/JBoss_Seam_2_0_2_CR1
+ -m "removing old tag prior to applying updated tag"
- Recopy back to tag
- -"svn copy https://svn.jboss.org/repos/seam/XX/XX https://svn.jboss.org/repos/seam/tags/JBoss_Seam_x_x_x_XXX -m "create JBoss_Seam_x_x_x_XXX tag""
- - ex. svn copy https://svn.jboss.org/repos/seam/branches/Seam_2_0 https://svn.jboss.org/repos/seam/tags/JBoss_Seam_2_0_2_CR1 -m "Updated tag for 2.0.2.CR1"
+ -"svn copy https://svn.jboss.org/repos/seam/XX/XX
+ https://svn.jboss.org/repos/seam/tags/JBoss_Seam_x_x_x_XXX
+ -m "create JBoss_Seam_x_x_x_XXX tag""
+ - ex. svn copy https://svn.jboss.org/repos/seam/branches/Seam_2_0
+ https://svn.jboss.org/repos/seam/tags/JBoss_Seam_2_0_2_CR1
+ -m "Updated tag for 2.0.2.CR1"
[FUTURE]
--------
* Store release related scripts (especially when more automated) in svn.
* Store release logs, and reports in svn.
-* Find a jar/archive reporting tool for detailed dependency, version, location reports.
+* Find a jar/archive reporting tool for detailed dependency, version reports.
More information about the seam-commits
mailing list