Release Management

see also: http://wiki.apache.org/avalon/AvalonReleaseManagerHowto


  * get your gpg key into a file called KEYS at

    https://svn.apache.org/repos/asf/excalibur/trunk/KEYS

  * copy this file to

    /www/www.apache.org/dist/excalibur

    ie

    wget https://svn.apache.org/repos/asf/excalibur/trunk/KEYS
    scp KEYS minotaur.apache.org:/www/www.apache.org/dist/excalibur

  * update project.xml. Probably need to change the version numbers.
    Commit the changes.

    cd ~/svn/excalibur/trunk
    vim instrument/project.xml
    vim instrument-manager/project.xml
    vim instrument-client/project.xml
    svn commit -m 'prepare for releases'

    or something like that.

  * optional: temporary get rid of your gpg passphrase

    gpg --edit-key <YOUR ID>
    > key <YOURKEY>
    > passwd
    <YOUR PASSPHRASE>
    <enter>
    <enter>
    yes
    quit
    yes

    or something like that.

  * build distributions, tag svn, and deploy them using 

    maven multiproject:install
    cd instrument
    maven excalibur:release
    cd ../instrument-manager
    maven excalibur:release
    cd ../instrument-client
    maven excalibur:release

    The way the script works is if you have the string "RC"
    in the version then it assumes it is a release candidate
    and deploys to your own personal account
    (/home/${user}/public_html/dist) otherwise it deploys to
    main area (/www/www.apache.org/dist).
  
    To deploy the artifacts you add something like the following
    into your ~/build.properties or you can specify it on command
    line.

    maven.username=donaldp
    maven.privatekey=C:\Documents and Settings\Peter\Application Data\SSH\UserKeys\PeterHome

    The goal to deploy artifacts is "excalibur:deploy", tagging
    repo is "excalibur:tagRelease" and releasing (which tags and
    deploys) is "excalibur:release". See maven.xml file(s).

  * optional: restore your gpg passphrase

    gpg --edit-key <YOUR ID>
    > key <YOURKEY>
    > passwd
    <YOUR PASSPHRASE>
    <YOUR PASSPHRASE>
    quit
    yes

    or something like that.

  * ask for feedback on dev@excalibur

  * probably go through several iterations of the above as some
    last-minute bugs are hammered out

  * call for a PMC vote to release the files

  * if the vote passes, change the version numbers to final and
    rerun the build process. With no "RC" in the version name
    the files should end up at

    http://www.apache.org/dist/excalibur/

  * send out announcements to the appropriate mailing lists