QA Process for JBoss Cache
2 weeks 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 CVS tag 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.
On release day 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. This Jira issue lives under component
QA team checks out JBoss Cache from cvs by tag
cvs -d:pserver:firstname.lastname@example.org:/cvsroot/jboss co -r TAG 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
./build.sh dist. This will produce the following packages:
JBossCache-core-xxx. Core Cache.
JBossCache-pojo-xxx. A superset of core plus PojoCache
JBossCache-all-xxx. Everything plus Javadocs.
bdbje-for-JBossCache-xxx. This can't be bundled so it's a separate package.
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
Delete all /tmp/JBossCache-, /tmp/Tx, /tmp/a. directories created during the previous run of the cache testsuite.
Expect other existing files in /tmp to break tests
./build.sh all-unittests-cc -Djava.awt.headless=true
Examine the reports using cruisecontrol as a baseline, look for any nuances
Rerun with one-test[Pojocache|-pojocache] -Dtest=<test_case> -Djgroups.stack=<udp/tcp>
QA team will run the distro testsuite (suggesting from -pojo distro)
Under the unzip directory, ./build.sh run.batch and ./build.sh run.pojocache.batch
That's the same test suite as above but tests are precompiled and no udp/tcp option
The sleepycat jar is required for passage of all tests (in the
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 (Following instruction apply to pre cache 2.0 version). For 2.0 version, to run bean shell, simply follow instructions at dist/JBossCache-all-$VERSION/docs/tutorial/en/html_single/index.html. It's much easier)
from the root dir execute runShellDemo
once the beanshell gui has started there 4 bsh files which can be executed, pojocacheWithTx, pojocache, oodb, and plain
To execute them type: sourceRelative("plain.bsh");
See the tutorial under docs/tutorial/en/pdf/TreeCache.pdf & tutorial-pojo (Section 6: Demo) for further instructions.
Section 6: Plain Cache, to run plain.bsh
Section 7: CacheLoader Examples, to run oodb.bsh
See the tutorial under docs/tutorial-pojo/en/pdf/TreeCache.pdf (Section 6: Demo) for further instructions on PojoCache.
Section 7: PojoCache, to run pojocache.bsh
Section 8: PojoCache with Transaction, to run PojoCacheWithTx.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.
Replace the /build/output/jboss-xxx/server/all/lib/pojocache.jar with the jar from the new JBC release. (Note this is new in 2.0 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 JBossCache-core-2.x.y.zip, JBossCache-pojo-2.x.y.zip, JBossCache-core-JDK140-2.x.y.zip, JBossCache-all-2.x.y, bdbje-for-JBossCache-2.x.y.zip 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 (now contains jboss-cache.jar and pojocache.jar)
Check both the jboss-cache.jar, pojocache.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