Version 4

    This document describes the procedure which QA uses to perform a release of JBossAS 5.x series.

     

    Pre-Release procedure

    1. At least two weeks before a release, create a task for the release in the JBQA JIRA project.

    2. At least two weeks before release, make sure there is a testsuite/src/etc/serialVersionUID/.ser file for the previous release.  See org.jboss.test.compatibility.test.SerialVersionUIDUnitTestCase for more information.

    3. Two weeks before make sure the earlier release is part of the compatibility matrix and verify the continuous runs for any compatibility issues.

    4. Make sure the following testsuites pass 100% on the continuous runs.

      1. AS Testsuite - build JDK5 - run JDK5

      2. AS Testsuite - build JDK5 - run JDK6

      3. AS Testsuite - build JDK6 - run JDK6

      4. EJB3 Testsuite

      5. Webservices Testsuite

    5. Make sure the TCK5 passes 100%

    6. Test the appropriate version of Seam to be working on the current release.

    7. If there is an installer make sure the right components make it into the installer.

     

    Release Procedure for jboss-5.x

    1. Checkout build/build-release.xml file

      1. example: svn export https://svn.jboss.org/repos/jbossas/tags/JBoss_5_0_5_GA/build/build-release.xml

    2. Copy build-release.xml to top level directory for release

    3. Create a release.properties file and in it define

      1. release.version.major

      2. release.version.minor

      3. release.version.revision

      4. release.version.tag

    4. Ensure that the release version info is updated in the following files: tools/etc/buildmagic/buildmagic.ent & tools/etc/buildmagic/version-info.xml

    5. Checkout the source for this release

      1. Checkout https://svn.jboss.org/repos/jbossas/tags/yourtag into the structure releasenumber/trunk 

      2. ex. mkdir 5.0.0.GA; cd 5.0.0.GA

      3. svn co https://svn.jboss.org/repos/jbossas/tags/JBoss_5_0_0_GA trunk

    6. Build the distr with JDK1.5

      1. Clean the local maven repository before doing the build.

      2. ant -f build-release.xml build-dist (Use the latest version of Sun JDK1.5)

    7. Ensure that the the target verson-release was completed without errors

      1. You may need to pipe its output to a file to do this

    8. Before running the testsuite, you will want to make a copy of the source tree and put it in the top level so that testsuite build is not included in final distribution

      1. cp -r 5.0.0.GA 5.0.0.GA-testing

    9. Run the testsuite

    10. Resolve any testsuite issues

      1. copy the testsuite/output/reports/text/TESTS-testsuites.txt to the main source tree /releasenumber/trunk/build/output/server-version/docs/tests

    11. build the release

      1. files to release are the zip, the installer.jar, release .zip and source .tar.gz along with the MD5SUMS.

      2. ant -f build-release.xml release

      3. outputs will be:

      • /VERSION/dist - the base server release to upload to sourceforge

      • /VERSION/repository - a canonical dist of the server and jars for reuse by other projects

     

    Creating the JDK6 build

    1. As of JBoss-4.2.3 we start supporting JDK6 and we ship a binary which is built with the latest version of Sun JDK6.

    2. Repeat the steps in the above section to checkout the source again and build and run the testsuite with JDK6 and attach the test report to the output to be bundled.

    3. Build the release bundle. Rename the /VERSION/dist/jboss-5.x.x.x.zip to /VERSION/dist/jboss-5.x.x.x-jdk6.zip before uploading

     

    Uploading to sourceforge

      1. cd into the VERSION/dist directory to upload the sourceforge contents

      2. Refer link for uploading options: http://alexandria.wiki.sourceforge.net/FileReleaseSystem-OfferingFilesfor+Download

        1. SFTP option

        2. sftp jbossqa@frs.sourceforge.net

        3. sftp> cd uploads

        4. sftp> put FILE

        5. sftp> exit

     

    Uploading to maven repository

    1. Checkout a local copy of the jbossas modules from svn in the following directory structure

      1. mkdir repository_root/org/jboss/jbossas

      2. cd repository_root/org/jboss/jbossas

      3. svn co https://svn.jboss.org/repos/repository.jboss.org/maven2/org/jboss/jbossas/ .

    2. Run mvn deploy for the root dir of the AS checkout. (This REBUILDS all the jars in maven style to be deployed. Our current build does not allow us to upload the same artifacts released on sourceforge. Use JDK5 for this and the same system used for the release build)

      1. mvn deploy -Dmaven.repository.root=repository_root (The maven.repository.root property corresponds to the one that is set in the jbossas parent pom. http://repository.jboss.org/maven2/org/jboss/jboss-parent)

    3. The mvn deploy builds and copies all the mavens artifacts under the local repository checkout. Commit the artifacts to SVN and this will be propagated to repository.jboss.org

      1. svn add  --force

      2. svn commit -m "..."

     

    Updating the products page

    1. Checkout https://cms.labs.jboss.com/prod/forge/portal-content/default/members/jbossas/project.xml and add a section corresponding to the new release

     

    Announcements

    1. Send an email to jboss-dev, core announcing the release with a link to the downloads page and release notes.

    2. Announce in the jboss.org forums under the News and Announcements Section.