Advance preparation for release

  • Catch up on doc/changelog documentation.

    • Write summary of changes from previous release.

  • Update doc/README with relevant changes.

  • Update man/{mlton,mlprof}.1 with relevant changes and set dates.

  • Wiki

    • Check OrphanedPages and WantedPages.

    • Features page should by synchronized with doc/README.

    • Catch up on Credits acknowledgements.

    • Create ReleaseYYYYMM?? (i.e., forthcoming release) based on ReleaseXXXXLLCC (i.e., previous release).

      • Update summary from doc/changelog.

      • Update attachment, SVN, and Wiki links to estimated release date.

      • Comment out lists and attachment links under YYYYMM?? binary packages and YYYYMM?? sources.

      • Ensure page has #acl All:

    • Create BugsYYYYMM?? based on BugsXXXXLLCC.

      • Update SVN and Wiki links to estimated release date.

    • Spell check pages.

Prepare Wiki for tagging

This ensures that the guide distributed with the release looks updated for the release.

  • Rename ReleaseYYYYMM?? to ReleaseYYYYMMDD with proper release date.

    • Update attachment, SVN, and Wiki links to proper release date.

  • Rename BugsYYYYMM?? to BugsYYYYMMDD with proper release date.

    • Update SVN and Wiki links to proper release date.

  • Update ReleaseXXXXLLCC.

    • Change intro to "This is an archived public release of MLton, version XXXXLLCC."

  • Update Download.

    • Change Include(ReleaseXXXXLLCC, "Release XXXXLLCC") to Include(ReleaseYYYYMMDD,"Release YYYYMMDD").

  • Update Home with note of new release.

    • Change What's new? text to Please try out our new release, <:ReleaseYYYYMMDD:MLton YYYYMMDD>.

  • Clear Experimental.

  • Clear TemporaryUpload

Prepare sources for tagging

  • Run bin/grab-wiki to update doc/guide.

    • Check that doc/guide/MLTONWIKIVERSION has proper release date.

    • Make sure that ReleaseYYYYMMDD and BugsYYYYMMDD are added to the repository.

    • Make sure that ReleaseYYYYMM?? and BugsYYYYMM?? are removed from the repository (if they were added during the advanced preparation).

    • Commit changes to doc/guide.

  • Check that doc/changelog has proper date.

Tag sources

  • Shell commands:

    svn copy -m "Tagging YYYYMMDD release" svn+ssh://mlton.org/svnroot/mlton/trunk svn+ssh://mlton.org/svnroot/mlton/tags/on-YYYYMMDD-release

Packaging

Source release

  • Shell commands:

    svn checkout svn+ssh://mlton.org/svnroot/mlton/tags/on-YYYYMMDD-release mlton-YYYYMMDD
    cd mlton-YYYYMMDD
    make clean clean-svn version VERSION=YYYYMMDD
    cd ..
    tar --exclude package -czpvf mlton-YYYYMMDD.src.tgz mlton-YYYYMMDD
  • Update ReleaseYYYYMMDD with mlton-YYYYMMDD.src.tgz attachment.

Binary releases

  • Download source release (mlton-YYYYMMDD.src.tgz from Download).

  • Shell commands:

    tar -xzpvf mlton-YYYYMMDD.src.tgz
    cd mlton-YYYYMMDD
    make
  • If your platform doesn’t have htmldoc, please build or get mlton-guide.pdf and copy to doc/guide.

  • Shell commands:

    make install
    cd install
    tar -czpvf ../mlton-YYYYMMDD-1.ARCH-OS.tgz *
  • Update ReleaseYYYYMMDD with mlton-YYYYMMDD-1.ARCH-OS.tgz attachment.

Package releases

  • Debian: ???

Website

  • basis gets a snapshot of http://standardml.org/Basis (if any relevant changes).

  • changelog gets a copy of doc/changelog.

  • guide/YYYYMMDD gets a copy of doc/guide.

    • Need to run sed to replace MLTONWIKIVERSION with YYYYMMDD.

    • Copy guide/YYYYMMDD/Home to guide/YYYYMMDD/index.html.

    • Upload guide/guide-YYYYMMDD.tgz and unpack.

    • Add <Directory /var/www/html/mlton.org/guide/YYYYMMDD> <:DefaultType:> text/html </Directory> to /etc/apache2/sites-available/mlton.org

    • Restart apache2 service.

Announce release

Misc.

  • dupload Debian package.

  • Generate new Performance numbers.