QA Process for JBoss Cache
Prior to release the JBoss Cache team should open a JIRA issue in the JBoss QA project detailing what will be released, the date it is expected to be released on, and the SVN URL which will be used for the release. The JIRA will also note the name of any JBoss AS release (or AS branch head) with which the release must be compatible.
The JBoss Cache team will tag their project appropriately and enter a comment on the JIRA issue notifying QA that the project is now ready for the QA process.
QA team checks out JBoss Cache from SVN my SVN URL
svn co url JBossCache
Check if the version information has been updated in /build.xml and src/org/jboss/cache/Version.java
Cache also requires the module docbook-support
svn co https://svn.jboss.org/repos/jbossas/trunk/docbook-support docbook-support
QA team then builds the cache project using the target distr
Build should be performed using JDK 5.0 version compiler (for cache versions 1.3 and greater)
QA team will run the JBossCache testsuite
Problems were encountered due to the following files /tmp/je.lck, /tmp/00000000.jdb being present
Attempt to remove these file before running the testsuite
Also delete all /tmp/JBossCache- directories created during the previous run of the cache testsuite.
./build.sh all-unittests-cc -Djava.awt.headless=true
Examine the reports using cruisecontrol as a baseline, look for any nuances
The ./build.sh all-unittests -Djava.awt.headless=true tests should be repeated using JDK 1.4 to ensure 1.4 compatibility.
org.jboss.cache.mgmt.NotificationTest and org.jboss.cache.mgmt.OptimisticNotificationTest requires JDK15 since it starts by setting up an MBean Server. Since it doesn't find one in the JDK, it attempts to start a JBoss MBean server (since org.jboss.mx classes are in the lib dir) which in turn pulls back deps on dom4j, possibly for MBean server configuration. This test failure should be ignored on JDK 1.4
QA team will run the distro testsuite. Unzip the release zip (for example jboss-cache-dist-1.4.1.GA.zip) in dist folder. Following test needs to be done from there.
Under the etc directory, ./build.sh run.batch and ./build.sh run.aop.batch. You may have to modify some ant properties in build.properties.
The sleepycat jar is required for passage of all tests (it is not included in the dist)
Check all documentation is present and looks ok
Examine the Changelog.txt
Run through the tutorial page under Tutorial doc
Under both Dos and Linux
Run and validate output for examples under /examples/PojoCache/ , instructions to run these examples can be found in /examples/PojoCache//readme.txt
Run the beanshell tests
from the root dir execute runShellDemo
once the beanshell gui has started there 4 bsh files which can be executed, aopWithTx, aop, oodb, and plain
To execute them type: sourceRelative("plain.bsh");
See the tutorial under docs/tutorial/en/pdf/TreeCache.pdf (Section 6: Demo) for further instructions.
Section 7: Plain Cache, to run plain.bsh
Section 8: CacheAOP, to run aop.bsh
Section 9: CacheAOP with Transaction, to run aopWithTx.bsh
Section 10: CacheLoader Examples, to run oodb.bsh
QA will confirm proper integration with JBoss AS
The JIRA issue in the QA project will identify any AS release(s) (or branch(es), if the release is meant to be integrated into an unreleased AS version) with which the release must be compatible. If no such release is listed, AS integration testing is not required.
Check out and build the indicated AS release.
Replace the /build/output/jboss-xxx/server/all/lib/jboss-cache.jar with the jar from the new JBC release.
Execute the tests-clustering-all-stacks target in the testsuite
Check for regressions vs. the JBC release previously included with the release.
After passing the tests upload the jboss-cache-dist.zip, jboss-cache-minimal-dist.zip, jboss-cache-srcOnly.zip, bdbje-for-jbosscache files found in /dist
MD5 checksums should be generated as well
Release on sourceforge
login to sourceforge and go to jboss project
make a new release
release the project
Release the binary to the repository
Check both the jboss-cache.jar and jboss-cache-jdk50.jar into the repository
DO NOT modify the build/build-thirdparty file in any JBoss AS branch. Doing this is the responsibility of the AS developers.
Release the binary to the Maven2 repository