[jboss-dev-forums] [JBoss Transactions Development] - Narayana Release Process

Tom Jenkinson do-not-reply at jboss.com
Fri Nov 30 08:54:27 EST 2012


Tom Jenkinson [https://community.jboss.org/people/tomjenkinson] modified the document:

"Narayana Release Process"

To view the document, visit: https://community.jboss.org/docs/DOC-17433

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

h2. Check JIRA
1. Check all issues resolved.
2. Create next point release version if not exists - this is so you can push issues in step 3 below.
3. Unresolved issues should be resolved or pushed.
h2. Check Hudson
Ensure no test failures in the following group of hudson tests (for the branch you intend to release):
* 4.16 Branch : jbossts-branch416-*
* 4.17 Branch : jbossts-branch417-*
* 5 Branch: jbossts-narayana-*

h2. Do Release
h3. Git Branches (4.17 and 5 only)
Must be done first as the build-release-packages.xml relies on the tag being available

For  REPO in (documentation quickstart narayana); do

REPO=<REPO>
BRANCH=<4.17|master>
CURRENT=<Point version to release>
NEXT=<point version of next release, likely to be $CURRENT+1>

git clone  mailto:git at github.com git at github.com:jbosstm/$REPO.git
cd $REPOgit checkout $BRANCH

find . -name \*.java -o -name \*.xml -o -name \*.properties -o -name \*.ent -o -name \INSTALL -o -name \README | grep -v ".svn" | grep -v ".git" | grep -v target | grep -v .idea | xargs sed -i "s/4\([._]\)17\([._]\)$CURRENT\([._]\)Final-SNAPSHOT/4\117\2$CURRENT\3Final/"
git commit -am "Updated to 4.17.$CURRENT.Final"
git tag 4.17.$CURRENT.Final

find . -name \*.java -o -name \*.xml -o -name \*.properties -o -name \*.ent -o -name \INSTALL -o -name \README | grep -v ".svn" | grep -v ".git" | grep -v target | grep -v .idea | xargs sed -i "s/4\([._]\)17\([._]\)$CURRENT\([._]\)Final/4\117\2$NEXT\3Final-SNAPSHOT/"
git commit -am "Updated to 4.17.$NEXT.Final-SNAPSHOT"
git push origin $BRANCH --tags
cd ..

h3. Update our AS7 fork
BRANCH=4_BRANCH
CURRENT=<Point version to release>
NEXT=<point version of next release, likely to be $CURRENT+1>

git clone git at github.com:jbosstm/jboss-as.git
cd jboss-as

git checkout $BRANCH
sed -i "s/4.17.$CURRENT.Final-SNAPSHOT/4.17.$NEXT.Final-SNAPSHOT/g" pom.xml
git commit -am "Updated to 4.17.$NEXT.Final-SNAPSHOT"
git push origin $BRANCH


h2. Build and release
CURRENT=<Point version to release>

mkdir -p ~/narayana/filemgmt.jboss.org/
On Linux:
sshfs jbosstm at filemgmt.jboss.org (mailto:jbosstm at filemgmt.jboss.org): ~/narayana/filemgmt.jboss.org/
On MacOS:
sshfs -o defer_permissions jbosstm at filemgmt.jboss.org (mailto:jbosstm at filemgmt.jboss.org): ~/narayana/filemgmt.jboss.org/

git clone git at github.com (mailto:git at github.com):jbosstm/narayana.git
cd narayana
git checkout 4.17.$CURRENT.Final
On Linux:
ant -f build-release-pkgs.xml dist downloads docs magnolia -Drsync=false
On MacOS:
ant -f build-release-pkgs.xml dist downloads docs magnolia


h3. svn branches
#Make sure your checkout has no local changes 
svn update
svn status

POINT_VERSION=5
NEXT_POINT_VERSION=6

#Update the version in text files
find . -name \*.java -o -name \*.xml -o -name \*.properties -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\([._]\)${POINT_VERSION}\([._]\)Final-SNAPSHOT/4\116\2$POINT_VERSION\3Final/"
svn commit -m "Updated to version 4.16.$POINT_VERSION.Final"

#Tag the release: 
svn cp  https://svn.jboss.org/repos/labs/labs/jbosstm/branches/JBOSSTS_4_16 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/ https://svn.jboss.org/repos/labs/labs/jbosstm/tags/JBOSSTS_4_16_${POINT_VERSION}_Final/ -m "4.16.$POINT_VERSION"

#Bump to next version using similar find to above
find . -name \*.java -o -name \*.xml -o -name \*.properties -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\([._]\)${POINT_VERSION}\([._]\)Final/4\116\2${NEXT_POINT_VERSION}\3Final-SNAPSHOT/"
svn commit -m "Updated to version 4.16.${NEXT_POINT_VERSION}.Final-SNAPSHOT"

#Update the maven version of jbossts in our fork of JBossAS:  https://github.com/jbosstm/jboss-as https://github.com/jbosstm/jboss-as
git checkout 4_16_BRANCH
git pull --rebase --ff-only
#Check no local changes
git status
sed -i "s/4.16.${POINT_VERSION}.Final-SNAPSHOT/4.16.${NEXT_POINT_VERSION}.Final-SNAPSHOT/g" pom.xml
git commit -am "Updated to 4.16.${NEXT_POINT_VERSION}.Final-SNAPSHOT"
git push

#Build and deploy the release to nexus staging:
mkdir ~/filemgmt.jboss.org/
sshfs -o defer_permissions  mailto:jbosstm at filemgmt.jboss.org jbosstm at filemgmt.jboss.org: ~/filemgmt.jboss.org/
svn switch  https://svn.jboss.org/repos/labs/labs/jbosstm/tags/JBOSSTS_4_16_$ https://svn.jboss.org/repos/labs/labs/jbosstm/tags/JBOSSTS_4_16_${NEXT_POINT_VERSION}_Final/
ant -f build-release-pkgs.xml dist mvn-repository downloads magnolia 
h3. 

h2. Release the artifact through Nexus
1.  https://repository.jboss.org/nexus/index.html#welcome https://repository.jboss.org/nexus/index.html#welcome
2. login
3. "Staging Repositories"
4. Click tickbox for your repo
5. Click "Close"
6. Don't worry about a description, just click "Close"
7. Click tickbox after it is closed
8. Click "Release"
9. Again a description doesn't matter
h2. JIRA Release
1. Close all issues for the release
2. Mark as released (Need admin permissions)
h2. Update Website
Update the Narayana community site:
* Login to Magnolia*  https://www.jboss.org/author/.magnolia/pages/adminCentral.html https://www.jboss.org/author/.magnolia/pages/adminCentral.html
* Login with credentials: Tom and Paul know these, ask them.

* Documentation* Browse to 'jbosstm/documentation'
* right click on 'downloads' and select 'import'
* browse to the location of the 'website.jbosstm.documentation.4.16.5.Final.xml' file
* Right click on the new file and click 'move'
* Drag the file to the top of the documentation list.
* Right click on the new page and select 'open page...'
* Check that the page looks right and that the download links work
* Right click on the new page and select 'activate'
* You now need to wait for the page to be moderated before it will appear.

* Downloads* Browse to 'jbosstm/downloads'
* right click on 'downloads' and select 'import'
* browse to the location of the 'website.jbosstm.downloads.4.16.5.Final.xml' file
* Right click on the new file and click 'move'
* Drag the file to the top of the downloads list.
* Right click on the new page and select 'open page...'
* Check that the page looks right and that the download links work
* Right click on the new page and select 'activate'
* You now need to wait for the page to be moderated before it will appear.

* Announcement* Right click on 'jbosstm' and select 'open page...'
* Click edit on the 'announcement' pane
* Update the announcement for this release.
* Right click on 'jbosstm' and select 'activate changes'
* You now need to wait for the page to be moderated before it will appear.

* Release notes* Right click on 'jbosstm' and select 'open page...'
* Click edit on the 'getting started' pane on the right-hand-side
* Edit the release notes url to point to the release notes for this version
* Click save
* Right click on 'jbosstm' and select 'activate changes'
* You now need to wait for the page to be moderated before it will appear.

h2. Push Upstream
If appropriate for this release, update AS7.


1.  https://issues.jboss.org/browse/AS7 https://issues.jboss.org/browse/AS7
2. create a new 'component update' issue. 1. Ensure the module is set to 'transactions'
2. select an appropriate 'fix for'.
3. Assign it to yourself.


Now update the code in your fork:
#cd to *your* fork of AS7
BRANCH=master  # master for JBossTS-4.17.x and 7.1 for JBossTS-4.16.x
JIRA=AS7-5815
PREVIOUS=4.17.1.Final
CURRENT=4.17.2.Final

git checkout $BRANCH 
git pull --rebase --ff-only upstream $BRANCH
git checkout -b "${JIRA}_Upgrading_JBossTS_to_${CURRENT}"
sed -i "s/$PREVIOUS/$CURRENT/g" pom.xml
git add pom.xml
git commit -m "${JIRA} Upgrading JBossTS to ${CURRENT}"
rm -rf ~/.m2/repository/org/jboss/jbossts
rm -rf ~/.m2/repository/org/jboss/narayana
build.sh clean install
git push origin "${JIRA}_Upgrading_JBossTS_to_${CURRENT}"


1. Raise a pull request
2. Once merged, resolve the Jira issue.
h2. 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 at lists.jboss.org (mailto:jbossts-announce at lists.jboss.org)
2. Forum
3. Blog - as appropriate
--------------------------------------------------------------

Comment by going to Community
[https://community.jboss.org/docs/DOC-17433]

Create a new document in JBoss Transactions Development at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=102&containerType=14&container=2041]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-dev-forums/attachments/20121130/7dc4986d/attachment.html 


More information about the jboss-dev-forums mailing list