Version 18

    QA Process for JBoss Cache

     

    PreRelease Checklist

     

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

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

      JBossCache

      ?

    3. QA team checks out JBoss Cache from cvs by tag

      1. cvs -d:pserver:anonymous@anoncvs.forge.jboss.com:/cvsroot/jboss co -r TAG JBossCache

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

    5. Cache also requires the module docbook-support

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

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

      1. Build should be performed using JDK 5.0 version compiler

      2. cd JBossCache

      3. ./build.sh dist. This will produce the following packages:

        1. JBossCache-core-xxx. Core Cache.

        2. JBossCache-pojo-xxx. A superset of core plus PojoCache

        3. JBossCache-all-xxx. Everything plus Javadocs.

        4. bdbje-for-JBossCache-xxx. This can't be bundled so it's a separate package.

    7. 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. Delete all /tmp/JBossCache-, /tmp/Tx, /tmp/a. directories created during the previous run of the cache testsuite.

      4. Expect other existing files in /tmp to break tests

      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. Rerun with one-test[Pojocache|-pojocache] -Dtest=<test_case> -Djgroups.stack=<udp/tcp>

    8. Sanity checking

      1. QA team will run the distro testsuite (suggesting from -pojo distro)

        1. Under the unzip directory, ./build.sh run.batch and ./build.sh run.pojocache.batch

        2. That's the same test suite as above but tests are precompiled and no udp/tcp option

        3. The sleepycat jar is required for passage of all tests (in the

          bdbje-for-JBossCache

          )

      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 (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)

        1. from the root dir execute runShellDemo

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

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

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

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

            2. Section 7: CacheLoader Examples, to run oodb.bsh

            3. Verify JBCACHE-680

          4. See the tutorial under docs/tutorial-pojo/en/pdf/TreeCache.pdf (Section 6: Demo) for further instructions on PojoCache.

            1. Section 7: PojoCache, to run pojocache.bsh

            2. Section 8: PojoCache with Transaction, to run PojoCacheWithTx.bsh

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

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

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

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

    11. MD5 checksums should be generated as well

      1. ftp upload.sourceforge.net/incoming

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

    13. Release the binary to the repository (now contains jboss-cache.jar and pojocache.jar)

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

        1. https://svn.jboss.org/repos/repository.jboss.org/jboss/cache

      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

        1. https://svn.jboss.org/repos/repository.jboss.org/maven2/jboss/jboss-cache