Version 2

    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 JDK6 - run JDK6

      2. EJB3 Testsuite

      3. Webservices Testsuite

      4. Smoke tests on Windows and Solaris platforms
    5. Make sure the TCK5 passes 100%

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

      1. Seam
      2. Weld
      3. Admin-Console
      4. mod_cluster
    7. If there is an installer make sure the right components make it into the installer.


    Release Procedure for jboss-6.x

    1. Checkout build/build-release.xml file

        1. example: svn export

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

    3. Create a 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 into the structure releasenumber/trunk 

      2. ex. mkdir 6.0.0.GA; cd 6.0.0.GA

      3. svn co trunk

    6. Build the distr with the latest version of Sun JDK 1.6

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

    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 6.0.0.GA 6.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



        Uploading to sourceforge

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

          2. Refer link for uploading options:

            1. SFTP option

              1. sftp username,

              2. sftp> cd /home/pfs/project/j/jb/jboss/JBoss

              3. sftp> mkdir JBoss-6.0.0.GA
              4. sftp> put FILE

              5. sftp> exit

              6. Once the files are uploaded navigate to File Manager Section on the sourceforge web site, and edit properties for the uploaded files (NOTE: It might even take a few hours for the uploads to show on the live page)


        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 .

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

            1. mvn deploy -DaltDeploymentRepository=jboss-releases::default::file:///home/user/repository_root
          5. Deploy the full ant build zip distribution to the maven repository.
            1. mvn deploy:deploy-file -Durl=file:///home//user/repository_root -DpomFile=/home//user/jboss-6.0.0.GA-release/6.0.0.GA/trunk/build/pom.xml -Dpackaging=zip


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

            1. svn add  --force

            2. svn commit -m "..."


          Updating the products page

          1. Checkout and add a section corresponding to the new release



          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 forums under the News and Announcements Section.