This file contains a checklist of the steps that must be taken when releasing a new version of Mercury.
  1. Make sure configure.in is updated to check for new features.
  2. Update the NEWS, RELEASE_NOTES, and HISTORY files. Don't forget to update the version number in RELEASE_NOTES for major releases. The HISTORY file should include the NEWS files from previous releases.
  3. Update the WWW documentation in the `www' directory, but don't commit it to the main branch yet, because otherwise it would be installed on the WWW pages overnight.
  4. Use `cvs tag' to tag all the files with a `version-x_y_z' tag.
  5. Edit the tools/test_mercury script in /home/mercury/public/test_mercury/scripts/mercury: set the RELEASE_VERSION and CHECKOUT_OPTS variables as explained in the comments there.
  6. Run tools/run_all_tests_from_cron on murlibobo. (Or just wait 24 hours or so.)

    This should have the effect of checking out a fresh copy, and doing

    	touch Mmake.params &&
    	autoconf &&
    	mercury_cv_low_tag_bits=2 \
    	mercury_cv_bits_per_word=32 \
    	mercury_cv_unboxed_floats=no \
    	sh configure --prefix=$INSTALL_DIR &&
    	mmake MMAKEFLAGS='EXTRA_MCFLAGS="-O5 --opt-space" -j6' tar
    	

    If it passes all the tests, it should put the resulting tar file in /home/mercury/public/test_mercury/test_dirs/mercury-latest-stable and ftp://turiel.cs.mu.oz.au/pub/mercury/beta-releases.

  7. Test it on lots of architectures.

    Make sure you test all the programs in the `samples' and `extras' directories.

  8. Build binary distributions for those architectures.
  9. Move the gzipped tar files from the /pub/mercury/beta-releases directory to the main /pub/mercury directory on the turiel ftp site ftp://turiel.cs.mu.oz.au/pub/mercury.
    Email kostis@cs.sunysb.edu (Konstantinos Sagonas) to tell him to make copies of it on ftp://ftp.cs.sunysb.edu/pub/XSB/mercury respectively.
    The mirror on ftp://ftp.csd.uu.se/pub/Mercury is supposedly automated.
  10. Email mercury-announce@cs.mu.oz.au and cross-post announcement to comp.lang.misc, comp.lang.prolog, comp.lang.functional, comp.object.logic, and for major releases also to comp.compilers and gnu.announce.
  11. Update the Mercury WWW home page (/local/dept/www/mercury/mercury.html) by commiting the changes you made earlier.

Last update was $Date: 1997/08/01 05:26:09 $ by $Author: trd $@cs.mu.oz.au.