Version 46

    QA Process for JBoss Cache

     

    PreRelease Checklist

     

    1. 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.

    2. 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.

    3. QA team checks out JBoss Cache from SVN my SVN URL

    4. svn co url JBossCache

    5. Check if the version information has been updated in /build.xml and src/org/jboss/cache/Version.java

    6. Cache also requires the module docbook-support

      1. svn co https://svn.jboss.org/repos/jbossas/trunk/docbook-support docbook-support

    7. QA team then builds the cache project using the target distr

      1. Build should be performed using JDK 5.0 version compiler (for cache versions 1.3 and greater)

      2. cd JBossCache

      3. ./build.sh dist

    8. QA team will run the JBossCache testsuite

      1. Problems were encountered due to the following files /tmp/je.lck, /tmp/00000000.jdb being present

      2. Attempt to remove these file before running the testsuite

      3. Also delete all /tmp/JBossCache- directories created during the previous run of the cache testsuite.

      4. ./build.sh interoptests

      5. ./build.sh all-unittests-cc -Djava.awt.headless=true

      6. ./build.sh reports

      7. Examine the reports using cruisecontrol as a baseline, look for any nuances

      8. The ./build.sh all-unittests -Djava.awt.headless=true tests should be repeated using JDK 1.4 to ensure 1.4 compatibility.

      9. 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

    9. Sanity checking

      1. 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.

        1. 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.

        2. The sleepycat jar is required for passage of all tests (it is not included in the dist)

      2. Check all documentation is present and looks ok

      3. Examine the Changelog.txt

      4. Run through the tutorial page under Tutorial doc

        1. Under both Dos and Linux

      5. Run and validate output for examples under /examples/PojoCache/ , instructions to run these examples can be found in /examples/PojoCache//readme.txt

      6. Run the beanshell tests

        1. from the root dir execute runShellDemo

          1. once the beanshell gui has started there 4 bsh files which can be executed, aopWithTx, aop, oodb, and plain

          2. To execute them type: sourceRelative("plain.bsh");

          3. See the tutorial under docs/tutorial/en/pdf/TreeCache.pdf (Section 6: Demo) for further instructions.

            1. Section 7: Plain Cache, to run plain.bsh

            2. Section 8: CacheAOP, to run aop.bsh

            3. Section 9: CacheAOP with Transaction, to run aopWithTx.bsh

            4. Section 10: CacheLoader Examples, to run oodb.bsh

            5. Verify JBCACHE-680

    10. QA will confirm proper integration with JBoss AS

      1. 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.

      2. Check out and build the indicated AS release.

      3. Replace the /build/output/jboss-xxx/server/all/lib/jboss-cache.jar with the jar from the new JBC release.

      4. Execute the tests-clustering-all-stacks target in the testsuite

      5. Check for regressions vs. the JBC release previously included with the release.

     

    1. 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

    2. MD5 checksums should be generated as well

      1. ftp upload.sourceforge.net/incoming

    3. Release on sourceforge

      1. login to sourceforge and go to jboss project

      2. administer project

      3. select jboss-cache

      4. make a new release

      5. release the project

    4. Release the binary to the repository

      1. Check both the jboss-cache.jar and jboss-cache-jdk50.jar into the repository

      2. DO NOT modify the build/build-thirdparty file in any JBoss AS branch. Doing this is the responsibility of the AS developers.

      3. Release the binary to the Maven2 repository