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
Last revision Both sides next revision
difx:release [2014/11/04 23:03]
adamdeller
difx:release [2020/09/12 06:53]
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
 +
 +=== 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 ready, including 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 script, current for DiFX-2.4, is below.  For future versions change ''NEW_VERSION'' and check for package completeness. A script, current for DiFX-2.4, is below.  For future versions change ''NEW_VERSION'' and check for package completeness.
Line 24: Line 48:
 export NEW_VERSION=DiFX-2.4 export NEW_VERSION=DiFX-2.4
  
-svn mkdir https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/+svn mkdir https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/ -m "top directory for ${NEW_VERSION} release"
  
 #mpifxcorr #mpifxcorr
-svn cp https://svn.atnf.csiro.au/difx/mpifxcorr/trunk https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/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 #libraries
-svn mkdir https://svn.atnf.csiro.au/difx/master_tags/${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 +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 +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 +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 +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 +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 +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+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 #applications
-svn mkdir https://svn.atnf.csiro.au/difx/master_tags/${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/applications/calcif2 https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/applications/calcif2  +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 https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/applications/calcserver +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 https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/applications/difx2fits +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 https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/applications/difx2mark4 +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 https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/applications/difxfilterbank +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 https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/applications/difx_monitor +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 https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/applications/espresso +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 https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/applications/guiServer +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 https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/applications/hops +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 https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/applications/mk5daemon +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 https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/applications/vex2difx+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 #utilities
-svn mkdir https://svn.atnf.csiro.au/difx/master_tags/${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/libraries/bench/trunk https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/utilities/bench +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/libraries/difxdb/trunk https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/utilities/difxdb +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/libraries/misc/trunk https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/utilities/misc +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/libraries/pulsar/trunk https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/utilities/pulsar +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/libraries/vis2screen/trunk https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/utilities/vis2screen+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 #sites
-svn mkdir https://svn.atnf.csiro.au/difx/master_tags/${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 +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 +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 +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 +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 +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/trunk/README https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/sites/MPIfR/README +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/trunk/difxdb https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/sites/MPIfR/difxdb +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/trunk/mark5 https://svn.atnf.csiro.au/difx/master_tags/${NEW_VERSION}/sites/MPIfR/mark5+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> </code>
difx/release.txt · Last modified: 2020/09/14 23:36 by geoffcrew