JBoss Community

Narayana Release Process

modified by Tom Jenkinson in JBoss Transactions Development - View the full document

This page provides a list of instructions that must be done in order when doing a release of Narayana.

 

Check JIRA

Ensure all issues are resolved. Any outstanding issues must be pushed back or resolved.

Check Hudson

Ensure no test failures in the following group of hudson tests:

 

  1. http://albany/view/Narayana+BlackTie/job/jbossts-branch416-java6/
  2. http://albany/view/Narayana+BlackTie/job/jbossts-branch416-java7/

Do Release

  1. Update the version number in any text files:
    1. Make sure your checkout has no local changes "svn update" "svn status"
    2. find . -name \*.java -o -name \*.xml -o -name \*.ent -o -name \INSTALL -o -name \README | grep -v ".svn" | grep -v target | xargs grep  -l "4[._]16" | xargs sed -i "s/4\([._]\)16\([._]\)4\([._]\)Final-SNAPSHOT/4\116\24\3Final/"
    3. svn commit -m "Updated to version 4.16.4.Final"
  2. Tag the release:
    1. svn cp https://svn.jboss.org/repos/labs/labs/jbosstm/branches/JBOSSTS_4_16 https://svn.jboss.org/repos/labs/labs/jbosstm/tags/JBOSSTS_4_16_4_Final/ -m "4.16.4"
  3. Build and deploy the release to nexus staging:
    1. ant -f build-release-pkgs.xml dist mvn-repository downloads magnolia
  4. Bump to next version using similar find to above
    1. find . -name \*.java -o -name \*.xml -o -name \*.ent -o -name \INSTALL -o -name \README | grep -v ".svn" | grep -v target | xargs grep  -l "4[._]16" | xargs sed -i "s/4\([._]\)16\([._]\)4\([._]\)Final/4\116\25\3Final-SNAPSHOT/"
    2. svn commit -m "Updated to version 4.16.5.Final-SNAPSHOT"
  5. Update the maven version of jbossts in our fork of JBossAS: https://github.com/jbosstm/jboss-as
    1. sed -i "s/4.16.4.Final-SNAPSHOT/4.16.5.Final-SNAPSHOT/g" pom.xml
    2. git commit - am "Updated to 4.16.5.Final-SNAPSHOT"
    3. git push

Release the artifact through Nexus

  1. https://repository.jboss.org/nexus/index.html#welcome
  2. login
  3. "Staging Repositories"
  4. Click tickbox for your repo
  5. Click "Close"
  6. Dont worry about a description, just click "Close"
  7. Click tickbox after it is closed
  8. Click "Release"
  9. Again a description doesn't matter

Upload the distribution jbosstm@filemgmt.jboss.org < WORK IN PROGRESS >

  1. export VERSION=5.0.0.M2
  2. mkdir ~/filemgmt.jboss.org/
  3. sshfs jbosstm@filemgmt.jboss.org: ~/filemgmt.jboss.org/
  4. mkdir -p ~/filemgmt.jboss.org/downloads_htdocs/jbosstm/downloads/$VERSION/binary
  5. mkdir -p ~/filemgmt.jboss.org/downloads_htdocs/jbosstm/downloads/$VERSION/src
  6. mkdir -p ~/filemgmt.jboss.org/docs_htdocs/jbosstm/docs/$VERSION/api/
  7. mkdir -p ~/filemgmt.jboss.org/docs_htdocs/jbosstm/docs/$VERSION/guides/
  8. Upload the build files to those folders

JIRA Release

  1. Mark as released.

Push Upstream

If appropriate for this release, create a new 'component update' issue in AS7 JIRA. Ensure the module is set to 'transactions' and select an appropriate 'fix for'.

Assign it to yourself

Resolve the work and raise the pull request

  1. https://issues.jboss.org/browse/AS7
  2. cd AS source
  3. git checkout -b AS7-<JIRANUMBER>
  4. sed -i "s/4.16.3.Final/4.16.4.Final/g" pom.xml
  5. git commit -am "AS7-<JIRA> Updated to 4.16.4.Final"
  6. git push
  7. Raise a pull request

Update Website

Update the Narayana community site:

  • Documentation
  • Downloads
  • Magnolia (using file generated in build-release-pkgs.xml), also update the front page announcement and the release notes link

Promote

NOTE: It is worth waiting for the merge of the pull request before advertising, or at least wait for the merge build notification first ;)

Promote the release through the following channels:

  1. Email jbossts-announce@lists.jboss.org
  2. Forum
  3. Blog - as appropriate

Comment by going to Community

Create a new document in JBoss Transactions Development at Community