User Tools

Site Tools


difx:release

This is an old revision of the document!


The DiFX Release Process

The guidelines here are not strict and may change version to version, but document the typical process used in releasing a new DiFX version.

  1. Upon nearing feature completeness or some other indicator that a release is due, somebody should email the DiFX Developers email list, encouraging a quick wrap-up of current developments for the upcoming release.
  2. A countdown page like this is usually created at this time to track remaining work to be done and start building release notes.
  3. A second email indicating feature completeness and transition to bug fix only state is sent out when the countdown list contains only testing and documentation items.
  4. Upon general agreement that the tree is ready for tagging a final email is sent suggesting that.
  5. The release tagging operation involves the following steps
    1. Make the subversion tree for the release, including the version directory (e.g., DiFX-2.0.1) and its subdirectories (libraries, applications, …)
    2. Update ChangeLog entries to include the new DiFX version and possibly a date.
    3. Commit the ChangeLog
    4. Make sure the configure.ac for each package requires proper versions of libraries (usually statements starting with PKG_CHECK_MODULES)
    5. If you copy the above line, be sure to change the quotes to normal quotes or else the svn cp command will fail with a misleading error message!
    6. Go back to the trunk version of each package and bump the version (usually in configure.ac) and note this in the ChangeLog.
    7. Recommit the trunk version.
  6. Announce to the DiFX Users mailing list that the new version is ready, including a copy of release notes.
  7. Edit the news page of the wiki with the release date

A script, current for DiFX-2.4, is below. For future versions change NEW_VERSION and check for package completeness.

export NEW_VERSION=DiFX-2.4

svn mkdir https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/ -m "top directory for ${NEW_VERSION} release"

#mpifxcorr
svn cp https://svn.atnf.csiro.au/difx/mpifxcorr/trunk https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/mpifxcorr -m "Tagging ${NEW_VERSION}"

#libraries
svn mkdir https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/libraries -m "for ${NEW_VERSION} release"
svn cp https://svn.atnf.csiro.au/difx/libraries/difxio/trunk https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/libraries/difxio -m "Tagging ${NEW_VERSION}"
svn cp https://svn.atnf.csiro.au/difx/libraries/difxmessage/trunk https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/libraries/difxmessage -m "Tagging ${NEW_VERSION}"
svn cp https://svn.atnf.csiro.au/difx/libraries/mark5access/trunk https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/libraries/mark5access -m "Tagging ${NEW_VERSION}"
svn cp https://svn.atnf.csiro.au/difx/libraries/perl/trunk https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/libraries/perl -m "Tagging ${NEW_VERSION}"
svn cp https://svn.atnf.csiro.au/difx/libraries/python/trunk https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/libraries/python -m "Tagging ${NEW_VERSION}"
svn cp https://svn.atnf.csiro.au/difx/libraries/vdifio/trunk https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/libraries/vdifio -m "Tagging ${NEW_VERSION}"
svn cp https://svn.atnf.csiro.au/difx/libraries/vex/trunk https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/libraries/vex -m "Tagging ${NEW_VERSION}"

#applications
svn mkdir https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/applications -m "for ${NEW_VERSION} release"
svn cp https://svn.atnf.csiro.au/difx/utilities/trunk/calcif2 https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/applications/calcif2  -m "Tagging ${NEW_VERSION}"
svn cp https://svn.atnf.csiro.au/difx/applications/calcserver/trunk https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/applications/calcserver -m "Tagging ${NEW_VERSION}"
svn cp https://svn.atnf.csiro.au/difx/applications/difx2fits/trunk https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/applications/difx2fits -m "Tagging ${NEW_VERSION}"
svn cp https://svn.atnf.csiro.au/difx/applications/difx2mark4/trunk https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/applications/difx2mark4 -m "Tagging ${NEW_VERSION}"
svn cp https://svn.atnf.csiro.au/difx/applications/difxfilterbank/trunk https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/applications/difxfilterbank -m "Tagging ${NEW_VERSION}"
svn cp https://svn.atnf.csiro.au/difx/applications/difx_monitor/trunk https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/applications/difx_monitor -m "Tagging ${NEW_VERSION}"
svn cp https://svn.atnf.csiro.au/difx/applications/espresso/trunk https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/applications/espresso -m "Tagging ${NEW_VERSION}"
svn cp https://svn.atnf.csiro.au/difx/applications/guiServer/trunk https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/applications/guiServer -m "Tagging ${NEW_VERSION}"
svn cp https://svn.atnf.csiro.au/difx/applications/hops/trunk https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/applications/hops -m "Tagging ${NEW_VERSION}"
svn cp https://svn.atnf.csiro.au/difx/applications/mk5daemon/trunk https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/applications/mk5daemon -m "Tagging ${NEW_VERSION}"
svn cp https://svn.atnf.csiro.au/difx/applications/vex2difx/trunk https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/applications/vex2difx -m "Tagging ${NEW_VERSION}"

#utilities
svn mkdir https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/utilities -m "for ${NEW_VERSION} release"
svn cp https://svn.atnf.csiro.au/difx/utilities/trunk/bench https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/utilities/bench -m "Tagging ${NEW_VERSION}"
svn cp https://svn.atnf.csiro.au/difx/utilities/trunk/difxdb https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/utilities/difxdb -m "Tagging ${NEW_VERSION}"
svn cp https://svn.atnf.csiro.au/difx/utilities/trunk/misc https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/utilities/misc -m "Tagging ${NEW_VERSION}"
svn cp https://svn.atnf.csiro.au/difx/utilities/trunk/pulsar https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/utilities/pulsar -m "Tagging ${NEW_VERSION}"
svn cp https://svn.atnf.csiro.au/difx/utilities/trunk/vis2screen https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/utilities/vis2screen -m "Tagging ${NEW_VERSION}"

#sites
svn mkdir https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/sites -m "for ${NEW_VERSION} release"
svn mkdir https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/sites/MPIfR -m "for ${NEW_VERSION} release"
svn mkdir https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/sites/NRAO -m "for ${NEW_VERSION} release"
svn cp https://svn.atnf.csiro.au/difx/sites/NRAO/trunk/difxdb https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/sites/NRAO/difxdb -m "Tagging ${NEW_VERSION}"
svn cp https://svn.atnf.csiro.au/difx/sites/NRAO/trunk/SniffPlots https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/sites/NRAO/SniffPlots -m "Tagging ${NEW_VERSION}"
svn cp https://svn.atnf.csiro.au/difx/sites/NRAO/trunk/rcwlib https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/sites/NRAO/rcwlib -m "Tagging ${NEW_VERSION}"
svn cp https://svn.atnf.csiro.au/difx/sites/MPIfR/README https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/sites/MPIfR/README -m "Tagging ${NEW_VERSION}"
svn cp https://svn.atnf.csiro.au/difx/sites/MPIfR/difxdb https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/sites/MPIfR/difxdb -m "Tagging ${NEW_VERSION}"
svn cp https://svn.atnf.csiro.au/difx/sites/MPIfR/mark5 https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/sites/MPIfR/mark5 -m "Tagging ${NEW_VERSION}"

#other setup things
svn cp https://svn.atnf.csiro.au/difx/setup/genipppc https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/ -m "Tagging ${NEW_VERSION}"
svn cp https://svn.atnf.csiro.au/difx/setup/install-difx https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/ -m "Tagging ${NEW_VERSION}"
svn cp https://svn.atnf.csiro.au/difx/setup/setup.bash https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/ -m "Tagging ${NEW_VERSION}"
svn cp https://svn.atnf.csiro.au/difx/setup/setup.csh https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/ -m "Tagging ${NEW_VERSION}"
difx/release.1445382527.txt.gz · Last modified: 2015/10/21 10:08 by 127.0.0.1