This document describes the procedure which QA uses to perform a release of JBossAS 5.x series.
Pre-Release procedure
At least two weeks before a release, create a task for the release in the JBQA JIRA project.
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.
Two weeks before make sure the earlier release is part of the compatibility matrix and verify the continuous runs for any compatibility issues.
Make sure the following testsuites pass 100% on the continuous runs.
AS Testsuite - build JDK5 - run JDK5
AS Testsuite - build JDK5 - run JDK6
AS Testsuite - build JDK6 - run JDK6
EJB3 Testsuite
Webservices Testsuite
Make sure the TCK5 passes 100%
Test the appropriate version of Seam to be working on the current release.
If there is an installer make sure the right components make it into the installer.
Release Procedure for jboss-5.x
Checkout build/build-release.xml file
example: svn export https://svn.jboss.org/repos/jbossas/tags/JBoss_5_0_5_GA/build/build-release.xml
Copy build-release.xml to top level directory for release
Create a release.properties file and in it define
release.version.major
release.version.minor
release.version.revision
release.version.tag
Ensure that the release version info is updated in the following files: tools/etc/buildmagic/buildmagic.ent & tools/etc/buildmagic/version-info.xml
Checkout the source for this release
Checkout https://svn.jboss.org/repos/jbossas/tags/yourtag into the structure releasenumber/trunk
ex. mkdir 5.0.0.GA; cd 5.0.0.GA
svn co https://svn.jboss.org/repos/jbossas/tags/JBoss_5_0_0_GA trunk
Build the distr with JDK1.5
Clean the local maven repository before doing the build.
ant -f build-release.xml build-dist (Use the latest version of Sun JDK1.5)
Ensure that the the target verson-release was completed without errors
You may need to pipe its output to a file to do this
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
cp -r 5.0.0.GA 5.0.0.GA-testing
Run the testsuite
Resolve any testsuite issues
copy the testsuite/output/reports/text/TESTS-testsuites.txt to the main source tree /releasenumber/trunk/build/output/server-version/docs/tests
build the release
files to release are the zip, the installer.jar, release .zip and source .tar.gz along with the MD5SUMS.
ant -f build-release.xml release
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
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.
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.
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
cd into the VERSION/dist directory to upload the sourceforge contents
Refer link for uploading options: http://alexandria.wiki.sourceforge.net/FileReleaseSystem-OfferingFilesfor+Download
SFTP option
sftp> cd uploads
sftp> put FILE
sftp> exit
Uploading to maven repository
Checkout a local copy of the jbossas modules from svn in the following directory structure
mkdir repository_root/org/jboss/jbossas
cd repository_root/org/jboss/jbossas
svn co https://svn.jboss.org/repos/repository.jboss.org/maven2/org/jboss/jbossas/ .
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)
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)
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
svn add --force
svn commit -m "..."
Updating the products page
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
Send an email to jboss-dev, core announcing the release with a link to the downloads page and release notes.
Announce in the jboss.org forums under the News and Announcements Section.
Comments