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 JDK6 - run JDK6
- Smoke tests on Windows and Solaris platforms
Make sure the TCK5 passes 100%
Test the appropriate version of the following components 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-6.x
Checkout build/build-release.xml file
example: svn export https://svn.jboss.org/repos/jbossas/tags/JBoss_6_0_0_GA/build/build-release.xml
Copy build-release.xml to top level directory for release
Create a release.properties file and in it define
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 6.0.0.GA; cd 6.0.0.GA
Build the distr with the latest version of Sun JDK 1.6
Clean the local maven repository before doing the build.
ant -f build-release.xml build-dist (Use the latest version of Sun JDK1.6)
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 6.0.0.GA 6.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
Uploading to sourceforge
cd into the VERSION/dist directory to upload the sourceforge contents
Refer link for uploading options: https://sourceforge.net/apps/trac/sourceforge/wiki/Release%20files%20for%20download
sftp> cd /home/pfs/project/j/jb/jboss/JBoss
- sftp> mkdir JBoss-6.0.0.GA
sftp> put FILE
- 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
Checkout a local copy of the jbossas modules from svn in the following directory structure
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.)
- mvn deploy -DaltDeploymentRepository=jboss-releases::default::file:///home/user/repository_root
- Deploy the full ant build zip distribution to the maven repository.
- mvn deploy:deploy-file -Dfile=jboss-6.0.0.GA.zip -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
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
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.