This document describes the procedure which QA uses to perform a release of JBossAS.
Pre-Release procedure
At least two weeks before a release, create a task for the release in the JBQA JIRA project.
Add a task in DOCS for updating the ejb3 trailblazers, linked to the above JBQA task.
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.
Release Procedure for jboss-4.0.x
Checkout build/build-release.xml file
example: svn export https://svn.jboss.org/repos/jbossas/tags/JBoss_4_0_5_CR1/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
ant -f build-release.xml cvs-co (deprecated since subversion move)
instead checkout by hand https://svn.jboss.org/repos/jbossas/tags/yourtag into the structure releasenumber/jboss-4.0.x
mkdir 4.0.5.CR1; cd 4.0.5.CR1
svn co https://svn.jboss.org/repos/jbossas/tags/JBoss_4_0_5_CR1 jboss-4.0.x
Build the distr with JDK1.4
ant -f build-release.xml build-dist
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
Run the testsuite
Resolve any testsuite issues
As of 4.0.4.GA, the html results are no longer included as part of the distribution.
copy the testsuite/output/reports/text/TESTS-testsuites.txt to the main source tree /VERSION/jboss-x/build/output/serverversion/docs/tests
build the release
files to release are the zip, the installer.jar and for the sources, release .zip and .tar.gz
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
cd into the VERSION/dist directory to upload the sourceforge contents
Refer link for uploading options: http://alexandria.wiki.sourceforge.net/FileReleaseSystem-OfferingFilesfor+Download
Update the jbossbuild (maven2 is a todo) repository.
The /VERSRION/repository dir contains a jbossas-repo-x.y.z.zip and a jbossas-jars-x.y.z.zip for the canonical binary jbossas dist and the core server jars respectively. These need to be added to the jbossbuild binary repository in order to build the JEMSInstaller. The jbossas-repo-x.y.z.zip and component-info.xml are the sole contents of the repository.jboss.com/jbossas/x.y.z component. The zip should be placed under repository.jboss.com/jbossas/x.y.z/lib. The jbossas-jars-x.y.z.zip are the content for the repository.jboss.com/jbossas/core-libs/x.y.z component. The associated component-info.xml descriptor is bundled in the jbossas-jars-x.y.z.zip archive. The archive jars should be added under repository.jboss.com/jbossas/core-libs/x.y.z/lib.
Build the ejb3.deployer repository contents. Currently the ejb3 deployer repository contents are bootstrapped from the jboss-4.0.x/ejb3 module. This is built after the release by running the jbossas build using JDK5.
Run the jbossas build using JDK5. This can be a clean build or just a rebuild over the existing dist build.
cd into jboss-4.0.x/ejb3 and run the repository-zip target. The resulting output/lib/jboss-ejb3-repo.zip is the complete contents of the repository.jboss.com/jboss/ejb3 component for the release.
Unzip the jboss-ejb3-repo.zip archive into the repository.jboss.com/jboss/ejb3 directory to create the component subtree for this version of the ejb3 deployer.
Add the component subtree to cvs to make it available to the installer.
build the installer using JDK14 (4.0.4.GA and latter) see the JEMSInstallerReleaseGuide. For building and intstaller for earlier releases, see the "Legacy (Pre-4.0.4.GA) Installer Build Instructions" section at JEMSInstallerReleaseGuide.
Comments