Version 180

    Make sure all the tasks are listed on JIRA

    Make sure all the tasks on jira are consistent with the current changes between the releases.

     

    This process is more a responsibility of each individual developer, to make sure their changes are being reported accordingly to the reality, but the person cutting the release should aways double check that nothing (nothing major at least) is out of the release.

     

    Verify that the release version numbers number and name is correct

    Verify if jms/build-messaging.xml version tags are correctly updated and correspond to the version you want to release.

    Each release must have a distinct version number.

     

     

    Important A final release is GA (General Availability)!

     

    When in doubt as to what versioning convention to use, go to JBoss Product Versioning Page

     

    Make sure about the build-thirdparty

     

    Make sure your build-thirdparty-TARGET is updated with the recently updates on the Target AS. (Mainly Javassist, JBosAOP, JBossRemoting and JGroups).

     

    ALL dependencies used by the project must EXACTLY match the versions used by the target AS.

    Update Jar versions on both Docs and Readme

     

    The docs and Readme contains references to various jars and versions, e.g. JBoss Remoting, AOP etc. These version numbers MUST be updated to reflect the correct versions used by the project.

     

    Synchronize the repository

     

    Synchronize the whole repository:

     

        cd $JBOSS_MESSAGING_HOME
        svn update
        svn status
        [svn ci]
    

     

    Make sure there aren't local modifications that did not make it to the repository.

     

    Make sure you are using the intended Remoting version

     

    Look into lib to see if there are local jboss-remoting.jar overrides. If there are, make sure this is what you want, and update lib/README.txt file with details about the override. If there aren't, make sure that build-thirdparty.xml dependency versions are correct.

     

     

    Fresh build the whole project

     

    *Note*

    *Note**Note**Note**Note**Note**Note*

    Make sure you build and run tests with Java 5.

     

        cd $JBOSS_MESSAGING_HOME
        ant clean
        rm -rf thirdparty
        java -version
        ant
    

     

    This will also produce the required Messaging artifacts.

     

    Test run preparation

     

    Before releasing a GA all tests must pass with all of our supported databases:

     

    MySQL

    Oracle

    PostgreSQL

    Sybase

    DB2

     

     

     

    • Note about multiple processors and race conditions: Tests, in particular stress tests and soak tests should always be run on a machine with multiple processors, this is because it is possible that there are race conditions that will not, or are unlikely to show up on a single processor/core machine.

    • Make sure you run the tests with Java 1.5.

    • Make sure you're using "mysql" as database (log output). This will allow to run all tests (functional, stress, clustering) tests consistently.

     

     

    Run TCK

     

    (parallelize if possible, the full run takes about 5 hours)

     

    TCK Page

     

    All JMS-related tests must pass.

     

     

    Run integration tests

     

    Instructions on how to run the integration testsuite are available here: JBossMessagingIntegrationUnitTests

     

    All integration tests must pass.

     

    Verify and update examples

     

    Ensure ALL the examples run correctly - you will need to setup one non clustered and two clustered servers to do this.

     

    Update the user guide

     

    Make sure that all references to old version numbers are updated. grep for "1.0..." ("1.2" on trunk). Also grep for "CR", "Beta", etc.

     

    Update ./docs/README.html

     

    • Update the version whenever it occurs in the document.

    • Update the release date

    • Make sure the content stays relevant.

    • If it's a GA, create a new Wiki Release History Page entry and a "Changes since ... " sub-entry. Link to it from README.html. The content will be added later.

    • "Release Notes" will be added later.

     

    Adjust JIRA tasks and release in JIRA.

     

    The current release must have a green bar. Release it from: Administer Project -> Manage Versions -> Release.

     

    Generate JIRA Release Notes

     

     

    Add JIRA release notes to ./docs/README.html

     

    Build the binary release bundle

     

          cd $JBOSS_MESSAGING_HOME
          ant clean
          rm -rf thirdparty
          java -version
          ant release-bundle
    

     

    Unzip the release bundle, deploy the sar in a "clean" JBoss instance, start the "messaging" configuration and run the examples:

     

    All examples must run

     

    Make sure you run with Java5

     

           cd examples/queue
           ant
    
           cd examples/topic
           ant
    
           cd examples/mdb
           ant
    
           cd examples/stateless
           ant
    
           cd examples/ejb3mdb
           ant
    
           cd examples/secure-socket
           ant
    
           also run the other example (there are more)
    
    

     

    Also, load the README.html file and click on "Installation" relative links to make sure they work.

     

    Note: For JBoss5 you will need to make some adjustments before running these examples, as the destinations will not exist

     

    Check in the release notes (docs/README.html)

     

    Use a CVS log that makes obvious that is the release README for this particular release. Example: "release notes for 1.0.0 alpha, PR3"

     

    Tag the release

     

    Tag the release. Use the value of messaging.version.cvstag from build-messaging.xml. Sample tag: JBossMessaging_1_0_0_Beta1

     

         cd $JBOSS_MESSAGING_HOME
         svn copy --username joebloggs https://svn.jboss.org/repos/messaging/trunk/ \
             https://svn.jboss.org/repos/messaging/tags/JBossMessaging_1_0_1_CR4 \
             -m "Tagging 1.0.1.CR4"
    

     

    Post tagging tasks

     

    Update Branch Map

     

    Update http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossMessagingMergingActivity to reflect the release. Make sure you mention the revision, the tag and the date.

     

    Example

     

       |
       O JBossMessaging_1_0_1_SP1
       | r1582 (11/17/06)
       |
    

     

    • Load the README file in a browser and make sure the relative links to the docuentation work.

     

     

    Create the source distribution

     

          cd $JBOSS_MESSAGING_HOME
          ant clean
          ant source-bundle
          mv output/lib/jboss-messaging-1.3.0.GA-src.zip ./release
    

     

    Make sure you can compile from the source bundle

     

     

    Public Release

     

    Public Releases are considered the community releases intended for JBoss4.2. Releases intended for JBoss5 or EAP are not public. JBossMessaging is distributed inside EAP and JBoss5 hence there is no need for a separate download.

     

    However you may consider to upload the documentation.

     

    Update labs downloads

     

        # you can checkout this from cms.lab
        svn co https://cms.labs.jboss.com/prod/forge/portal-content/default/members/jbossmessaging/ jbossmessaging
        cd jbossmessaging
        # case you are reusing your workspace make sure you update it
        svn update
        svn status
    

     

    • Add the new download in work/jboss-messaging-labs/jbossmessaging/downloads

    • If it's a GA or an SP, get rid of the preceding CRs

    • Update work/jboss-messaging-labs/jbossmessaging/project.xml

    • Update counters: work/jboss-messaging-labs/jbossmessaging/counter.xml

    • synchronize

     

        $ svn ci -m "added 1.0.1.CR4 download files"
    

     

    Update labs documentation

     

        cd work/jboss-messaging-labs/jbossmessaging/freezone/docs
        svn update
        svn status
    

     

    • Unzip the release binary zip into freezone/docs

          cd work/jboss-messaging-labs/jbossmessaging/freezone/docs
    
          <unzip release binary>
    
          mkdir guide-1.0.1.CR4
          cp -r <release_dir>/docs/userguide/* guide-1.0.1.CR4
    
          mkdir javadoc/api-1.0.1.CR4
          cp -r <release_dir>/api/* javadoc/api-1.0.1.CR4
    
          rm -rf <release_dir>
    
    
    

     

    • If is a GA or SP, get rid of the preceding CRs.

     

    • Update freezone/docs/index.html accordingly

     

    • synchronize again

     

        $ svn ci -m "added 1.0.1.CR4 documentation"
    

     

    Check download, counter and documentation links

     

    If it's an GA

     

    In case updating the jboss.com landing page is needed:

    • Login as admin (use explorer) -> bottom right side menu -> Manage HTML -> products -> messaging (the bottom one) -> Edit

    • Add the release link to the wiki page -> Update HTML Page

    • Create the corresponding wiki page based on README.html, but also add the Download paragraph.

     

    Update repository.jboss.com

     

    • Create a new repository.jboss.com/jboss/messaging/1.X.X subdirectory

    • Create repository.jboss.com/jboss/messaging/1.X.X/lib

    • Create repository.jboss.com/jboss/messaging/1.X.X/component-info.xml (the best way to do it is to copy the previous version component-info.xml file)

    • Upload the latest jboss-messaging.jar in repository.jboss.com/jboss/messaging/1.X.X/lib

    • Modify repository.jboss.com/jboss/messaging/1.X.X/component-info.xml accordingly

    • Add config examples from the current release into /resource directory.

     

        cvs add ...
        cvs ci -m "added 1.0.1.GA artifacts"
    

     

     

    Remove the release directory.

     

         rm -r $JBOSS_MESSAGING_HOME/release
    

     

    Change the release date in JIRA

     

    Adjust the new release date in JIRA

     

    Document differences

     

    Based on the JIRA release notes, document differences from the last release and generate a "what's new" document in a human readable format. Generate a HTML document and post it in the blog are of the lab project. It will show up as "news"

     

    If there were significant bugs that were discovered/fixed by external contributors, or if there were external contributions, mention their authors.

     

    File name pattern: blog/2006.08.09_JBoss_Messaging_1_0_1_CR4_released.html. Use raw HTML and check with a browser at the end.

     

    You should blog about the release on your own blog (aggregated by jboss.org), or on the JBoss Labs if you prefer (procedures bellow), but that is deprecated:

     

    • JBoss Labs News (this is how you blog).

      • Add the anouncement in a .html file (HTML format, but no need for &lt;head&gt; and &lt;body&gt;) in the local jbossmessaging SVN workarea (jbossmessaging/blog

      • svn add file-name

      • export SVN_EDITOR=notepad.exe

      • svn propedit title file-name

      • Title: "JBoss Messaging 1.0.1.GA Released"

      • checkin

     

    Check in the change, it should be posted as news in several minutes.

     

    Post the release anouncement on the forums

     

    The text of the anouncement should be the same as the blog. The subject line should be similar to "JBoss Messaging 1.0.1.CR4 Released". However, use full links, otherwise they are lost when e-mailing. Here is a release anouncement example: http://www.jboss.org/index.html?module=bb&op=viewtopic&t=96679

     

    DO NOT post the same message on the development forum, user forum should be sufficient.

     

    Post a short anouncement on the news mailing list

     

     

    Subject: JBoss Messaging 1.0.1.CR4 Released

     

    The content should be identical to the forum announcement's.

     

    Update the Release History with a humanly readable change notification

     

    http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossMessagingReleaseHistory. Add "Release Notes"

     

    Verify that artifacts are in repository.jboss.com

     

    Send a notification to PM

     

    -


    Referenced by: