<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">
<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>
                                <td>
                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="https://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">JBoss Community</a></h1>
                                                                </td>
                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px; -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
Narayana Release Process
</h3>
<span style="margin-bottom: 10px;">
modified by <a href="https://community.jboss.org/people/paul.robinson">Paul Robinson</a> in <i>JBoss Transactions Development</i> - <a href="https://community.jboss.org/docs/DOC-17433">View the full document</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">
<div class="jive-rendered-content"><p>This page provides a list of instructions that must be done <strong>in order</strong> when doing a release of Narayana.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><h2>Check JIRA</h2><ol><li>Check all issues resolved.</li><li>Create next point release version if not exists - this is so you can push issues in step 3 below.</li><li>Unresolved issues should be resolved or pushed.</li></ol><h2>Check Hudson</h2><p>Ensure no test failures in the following group of hudson tests (for the branch you intend to release):</p><ul><li>4.16 Branch : jbossts-branch416-*</li><li>4.17 Branch : jbossts-branch417-*</li><li>5 Branch: jbossts-narayana-*</li></ul><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><h2>Do Release</h2><h3 style="text-align: start;">Git Branches (4.17 and 5 only)</h3><p>Must be done first as the build-release-packages.xml relies on the tag being available</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>For  REPO in (documentation quickstart narayana); do</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><pre ___default_attr="plain" class="jive_text_macro jive_macro_code"><p>REPO=<REPO></p><p>BRANCH=<4.17|master></p><p>CURRENT=<Point version to release></p><p>NEXT=<point version of next release, likely to be $CURRENT+1></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p><span>git clone </span><a class="jive-link-email-small" href="mailto:git@github.com" target="_blank">git@github.com</a><span>:jbosstm/$REPO.git</span></p>cd $REPO<p>git checkout $BRANCH</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>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/"</p><p>git commit -am "Updated to 4.17.$CURRENT.Final"</p><p>git tag 4.17.$CURRENT.Final</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>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/"</p><p>git commit -am "Updated to 4.17.$NEXT.Final-SNAPSHOT"</p><p>git push origin $BRANCH --tags</p><p>cd ..</p></pre><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><h3 style="text-align: start;">Update our AS7 fork</h3><pre class="jive-pre"><code class="jive-code">BRANCH=4_BRANCH
CURRENT=1
NEXT=2
git clone git@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
</code></pre><h2 style="text-align: start;">Build and release</h2><pre ___default_attr="plain" class="jive_text_macro jive_macro_code"><p>BRANCH=4.17</p><p>CURRENT=1</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>mkdir -p ~/narayana/filemgmt.jboss.org/</p><p><span>sshfs </span>-o defer_permissions<span> </span><a class="jive-link-email-small" href="mailto:jbosstm@filemgmt.jboss.org" target="_blank">jbosstm@filemgmt.jboss.org</a><span>: ~/narayana/filemgmt.jboss.org/</span></p><p>git checkout $BRANCH.$CURRENT.Final</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>ant -f build-release-pkgs.xml dist downloads docs magnolia</p></pre><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><h3 style="text-align: start;">svn branches</h3><pre ___default_attr="plain" class="jive_text_macro jive_macro_code"><p>#Make sure your checkout has no local changes </p><p>svn update</p><p>svn status</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>POINT_VERSION=5</p><p>NEXT_POINT_VERSION=6</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>#Update the version in text files</p><p>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/"</p><p>svn commit -m "Updated to version 4.16.$POINT_VERSION.Final"</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>#Tag the release: </p><p>svn cp <a class="jive-link-external-small" href="https://svn.jboss.org/repos/labs/labs/jbosstm/branches/JBOSSTS_4_16" target="_blank">https://svn.jboss.org/repos/labs/labs/jbosstm/branches/JBOSSTS_4_16</a> <a class="jive-link-external-small" href="https://svn.jboss.org/repos/labs/labs/jbosstm/tags/JBOSSTS_4_16_4_Final/" target="_blank">https://svn.jboss.org/repos/labs/labs/jbosstm/tags/JBOSSTS_4_16_${POINT_VERSION}_Final/</a> -m "4.16.$POINT_VERSION"</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>#Bump to next version using similar find to above</p><p>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/"</p><p>svn commit -m "Updated to version 4.16.${NEXT_POINT_VERSION}.Final-SNAPSHOT"</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>#Update the maven version of jbossts in our fork of JBossAS: <a class="jive-link-external-small" href="https://github.com/jbosstm/jboss-as" target="_blank">https://github.com/jbosstm/jboss-as</a></p><p>git checkout 4_16_BRANCH</p><p>git pull --rebase --ff-only</p><p>#Check no local changes</p><p>git status</p><p>sed -i "s/4.16.${POINT_VERSION}.Final-SNAPSHOT/4.16.${NEXT_POINT_VERSION}.Final-SNAPSHOT/g" pom.xml</p><p>git commit -am "Updated to 4.16.${NEXT_POINT_VERSION}.Final-SNAPSHOT"</p><p>git push</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>#Build and deploy the release to nexus staging:</p><p>mkdir ~/filemgmt.jboss.org/</p><p>sshfs -o defer_permissions <a class="jive-link-email-small" href="mailto:jbosstm@filemgmt.jboss.org" target="_blank">jbosstm@filemgmt.jboss.org</a>: ~/filemgmt.jboss.org/</p><p>svn switch <a class="jive-link-external-small" href="https://svn.jboss.org/repos/labs/labs/jbosstm/tags/JBOSSTS_4_16_$" target="_blank">https://svn.jboss.org/repos/labs/labs/jbosstm/tags/JBOSSTS_4_16_$</a>{NEXT_POINT_VERSION}_Final/</p><p>ant -f build-release-pkgs.xml dist mvn-repository downloads magnolia </p></pre><h3 style="text-align: start;"></h3><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><h2 style="text-align: start;">Release the artifact through Nexus</h2><ol><li style="text-align: start;"><a class="jive-link-external-small" href="https://repository.jboss.org/nexus/index.html#welcome" target="_blank">https://repository.jboss.org/nexus/index.html#welcome</a></li><li style="text-align: start;">login</li><li style="text-align: start;">"Staging Repositories"</li><li style="text-align: start;">Click tickbox for your repo</li><li style="text-align: start;">Click "Close"</li><li style="text-align: start;">Don't worry about a description, just click "Close"</li><li style="text-align: start;">Click tickbox after it is closed</li><li style="text-align: start;">Click "Release"</li><li style="text-align: start;">Again a description doesn't matter</li></ol><h2>JIRA Release</h2><ol><li style="text-align: start;">Close all issues for the release</li><li style="text-align: start;">Mark as released (Need admin permissions)</li></ol><h2 style="text-align: start;">Update Website</h2><p>Update the Narayana community site:</p><ul><li>Login to Magnolia<ul><li><a class="jive-link-external-small" href="https://www.jboss.org/author/.magnolia/pages/adminCentral.html">https://www.jboss.org/author/.magnolia/pages/adminCentral.html</a></li><li>Login with credentials: Tom and Paul know these, ask them.</li></ul></li><li>Documentation<ul><li>Browse to 'jbosstm/documentation'</li><li>right click on 'downloads' and select 'import'</li><li>browse to the location of the 'website.jbosstm.documentation.4.16.5.Final.xml' file</li><li>Right click on the new file and click 'move'</li><li>Drag the file to the top of the documentation list.</li><li>Right click on the new page and select 'open page...'</li><li>Check that the page looks right and that the download links work</li><li>Right click on the new page and select 'activate'</li><li>You now need to wait for the page to be moderated before it will appear.</li></ul></li><li>Downloads<ul><li>Browse to 'jbosstm/downloads'</li><li>right click on 'downloads' and select 'import'</li><li>browse to the location of the 'website.jbosstm.downloads.4.16.5.Final.xml' file</li><li>Right click on the new file and click 'move'</li><li>Drag the file to the top of the downloads list.</li><li>Right click on the new page and select 'open page...'</li><li>Check that the page looks right and that the download links work</li><li>Right click on the new page and select 'activate'</li><li>You now need to wait for the page to be moderated before it will appear.</li></ul></li><li>Announcement<ul><li>Right click on 'jbosstm' and select 'open page...'</li><li>Click edit on the 'announcement' pane</li><li>Update the announcement for this release.</li><li>Right click on 'jbosstm' and select 'activate changes'</li><li>You now need to wait for the page to be moderated before it will appear.</li></ul></li><li>Release notes<ul><li>Right click on 'jbosstm' and select 'open page...'</li><li>Click edit on the 'getting started' pane on the right-hand-side</li><li>Edit the release notes url to point to the release notes for this version</li><li>Click save</li><li>Right click on 'jbosstm' and select 'activate changes'</li><li>You now need to wait for the page to be moderated before it will appear.</li></ul></li></ul><h2>Push Upstream</h2><p style="text-align: start;">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'.</p><p style="text-align: start;">Assign it to yourself</p><p>Resolve the work and raise the pull request</p><ol><li style="text-align: start;"><a class="jive-link-external-small" href="https://issues.jboss.org/browse/AS7" target="_blank">https://issues.jboss.org/browse/AS7</a></li><li style="text-align: start;">cd AS source</li><li style="text-align: start;">git checkout -b AS7-<JIRANUMBER></li><li>sed -i "s/4.16.3.Final/4.16.4.Final/g" pom.xml</li><li>git commit -am "AS7-<JIRA> Updated to 4.16.4.Final"</li><li>git push</li><li>Raise a pull request</li></ol><h2>Promote</h2><p>NOTE: It is worth waiting for the merge of the pull request before advertising, or at least wait for the merge build notification first <span> ;) </span></p><p>Promote the release through the following channels:</p><ol><li><span><span>Email </span><a class="jive-link-email-small" href="mailto:jbossts-announce@lists.jboss.org" target="_blank">jbossts-announce@lists.jboss.org</a></span></li><li>Forum</li><li>Blog - as appropriate</li></ol></div>
<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
<p style="margin: 0;">Comment by <a href="https://community.jboss.org/docs/DOC-17433">going to Community</a></p>
        <p style="margin: 0;">Create a new document in JBoss Transactions Development at <a href="https://community.jboss.org/choose-container!input.jspa?contentType=102&containerType=14&container=2041">Community</a></p>
</div></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>