User Tools

Site Tools


difx:release

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
difx:release [2011/12/09 01:30]
adamdeller
difx:release [2020/09/14 23:36] (current)
geoffcrew
Line 1: Line 1:
-=== The DiFX Release Process ===+ 
 +==== 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. The guidelines here are not strict and may change version to version, but document the typical process used in releasing a new DiFX version.
 +
 +=== General principles ===
 +
 +  * We aim for a major release every ~12 months
 +  * In between major releases, minor releases are made on an as-needed basis.  Minor releases should really only be for bugfixes or very minor feature additions.
 +
 +=== How to do a minor release ===
 +
 +  * Test your change in trunk
 +  * Test your change in master-tags/DiFX-2.X/
 +  * Update the ChangeLog(s) and update package version requirements if needed
 +  * Update the wiki [[changelog]]
 +  * Email difx-developers and announce the intention to make a new minor release:
 +    * Request testing of the updated DiFX-2.X
 +    * Indicate timeline and community requirements (with respect to schedule)
 +  * After testing is complete:
 +    * svn copy master-tags/DiFX-2.X/ master-tags/DiFX-2.X.Y/
 +    * update the setup.bash and setup.csh with the new DIFX_VERSION identifier
 +    * Compile test the new tag
 +    * Update [[news]] and [[installation]] with the new version number
 +    * Update [[difx2.0tonow]] with major changes
 +    * email difx-users and announce the new release
 +    * update the versions section of the userguide (//doc/userguide/trunk/difx_versions.tex//)
 +
 +=== How to do a major release ===
  
   - 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.   - 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.
-  - A countdown page [[d201countdown|like this]] is usually created at this time to track remaining work to be done and start building release notes.+  - A countdown page [[d201countdown|like this]] may be created at this time to track remaining work to be done and start building release notes.
   - 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.   - 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.
   - Upon general agreement that the tree is ready for tagging a final email is sent suggesting that.   - Upon general agreement that the tree is ready for tagging a final email is sent suggesting that.
   - The release tagging operation involves the following steps   - The release tagging operation involves the following steps
-    - Make the subversion tree for the release, including the version directory (e.g., DiFX-2.0.1) and its subdirectories (libraries, applications, ...)+    - Make the subversion tree for the release, including the version directory (e.g., DiFX-2.6) and its subdirectories (libraries, applications, ...)
     - Update ChangeLog entries to include the new DiFX version and possibly a date.     - Update ChangeLog entries to include the new DiFX version and possibly a date.
     - Commit the ChangeLog     - Commit the ChangeLog
     - Make sure the configure.ac for each package requires proper versions of libraries (usually statements starting with PKG_CHECK_MODULES)     - Make sure the configure.ac for each package requires proper versions of libraries (usually statements starting with PKG_CHECK_MODULES)
-    - Do a subversion copy, e.g.,  svn cp https://svn.atnf.csiro.au/difx/libraries/difxio/trunk https://svn.atnf.csiro.au/difx/master_tags/DiFX-2.0.1/libraries/difxio -m "Tag for version 2.0.1"+    - Do a subversion copy, e.g.,  svn cp https://svn.atnf.csiro.au/difx/libraries/difxio/trunk https://svn.atnf.csiro.au/difx/master_tags/DiFX-2.6/libraries/difxio -m "Tag for version 2.6"
     - 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!     - 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!
     - Go back to the trunk version of each package and bump the version (usually in configure.ac) and note this in the ChangeLog.     - Go back to the trunk version of each package and bump the version (usually in configure.ac) and note this in the ChangeLog.
     - Recommit the trunk version.     - Recommit the trunk version.
-  - Announce to the DiFX Users mailing list that the new version is readyincluding a copy of release notes+  - Run through the minor release procedure to create DiFX-2.X.1/ from your new DiFX-2.X/ tag. 
-  - Edit the [[news]] page of the wiki with the release date+ 
 +A scriptcurrent for DiFX-2.4, is below.  For future versions change ''NEW_VERSION'' and check for package completeness. 
 + 
 +<code> 
 +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}" 
 + 
 +</code>
difx/release.1323354605.txt.gz · Last modified: 2011/12/09 01:30 by adamdeller