ReleaseChecklist ================ == Advance preparation for release == * Update `./CHANGELOG.adoc`. ** Write entries for missing notable commits. ** Write summary of changes from previous release. ** Update with estimated release date. * Update `./README.adoc`. ** Check features and description. * Update `man/{mlton,mlprof}.1`. ** Check compile-time and run-time options in `man/mlton.1`. ** Check options in `man/mlprof.1`. ** Update with estimated release date. * Update `doc/guide`. // ** Check <:OrphanedPages:> and <:WantedPages:>. ** Synchronize <:Features:> page with `./README.adoc`. ** Update <:Credits:> page with acknowledgements. ** Create *ReleaseYYYYMM??* page (i.e., forthcoming release) based on *ReleaseXXXXLLCC* (i.e., previous release). *** Update summary from `./CHANGELOG.adoc`. *** Update links to estimated release date. ** Create *BugsYYYYMM??* page based on *BugsXXXXLLCC*. *** Update links to estimated release date. ** Spell check pages. * Ensure that all updates are pushed to `master` branch of . == Prepare sources for tagging == * Update `./CHANGELOG.adoc`. ** Update with proper release date. * Update `man/{mlton,mlprof}.1`. ** Update with proper release date. * Update `doc/guide`. ** Rename *ReleaseYYYYMM??* to *ReleaseYYYYMMDD* with proper release date. *** Update links with proper release date. ** Rename *BugsYYYYMM??* to *BugsYYYYMMDD* with proper release date. *** Update links with proper release date. ** Update *ReleaseXXXXLLCC*. *** Change intro to "`This is an archived public release of MLton, version XXXXLLCC.`" ** Update <:Home:> with note of new release. *** Change `What's new?` text to `Please try out our new release, <:ReleaseYYYYMMDD:MLton YYYYMMDD>`. *** Update `Download` link with proper release date. ** Update <:Releases:> with new release. * Ensure that all updates are pushed to `master` branch of . == Tag sources == * Shell commands: + ---- git clone http://github.com/MLton/mlton mlton.git cd mlton.git git checkout master git tag -a -m "Tagging YYYYMMDD release" on-YYYYMMDD-release master git push origin on-YYYYMMDD-release ---- == Packaging == === SourceForge FRS === * Create *YYYYMMDD* directory: + ----- sftp user@frs.sourceforge.net:/home/frs/project/mlton/mlton sftp> mkdir YYYYMMDD sftp> quit ----- === Source release === * Create `mlton-YYYYMMDD.src.tgz`: + ---- git clone http://github.com/MLton/mlton mlton cd mlton git checkout on-YYYYMMDD-release make MLTON_VERSION=YYYYMMDD source-release cd .. ---- + or + ---- wget https://github.com/MLton/mlton/archive/on-YYYYMMDD-release.tar.gz tar xzvf on-YYYYMMDD-release.tar.gz cd mlton-on-YYYYMMDD-release make MLTON_VERSION=YYYYMMDD source-release cd .. ---- * Upload `mlton-YYYYMMDD.src.tgz`: + ----- scp mlton-YYYYMMDD.src.tgz user@frs.sourceforge.net:/home/frs/project/mlton/mlton/YYYYMMDD/ ----- * Update *ReleaseYYYYMMDD* with `mlton-YYYYMMDD.src.tgz` link. === Binary releases === * Build and create `mlton-YYYYMMDD-1.ARCH-OS.tgz`: + ---- wget http://sourceforge.net/projects/mlton/files/mlton/YYYYMMDD/mlton-YYYYMMDD.src.tgz tar xzvf mlton-YYYYMMDD.src.tgz cd mlton-YYYYMMDD make binary-release cd .. ---- * Upload `mlton-YYYYMMDD-1.ARCH-OS.tgz`: + ----- scp mlton-YYYYMMDD-1.ARCH-OS.tgz user@frs.sourceforge.net:/home/frs/project/mlton/mlton/YYYYMMDD/ ----- * Update *ReleaseYYYYMMDD* with `mlton-YYYYMMDD-1.ARCH-OS.tgz` link. == Website == * `guide/YYYYMMDD` gets a copy of `doc/guide/localhost`. * Shell commands: + ---- wget http://sourceforge.net/projects/mlton/files/mlton/YYYYMMDD/mlton-YYYYMMDD.src.tgz tar xzvf mlton-YYYYMMDD.src.tgz cd mlton-YYYYMMDD cd doc/guide cp -prf localhost YYYYMMDD tar czvf guide-YYYYMMDD.tgz YYYYMMDD rsync -avzP --delete -e ssh YYYYMMDD user@web.sourceforge.net:/home/project-web/mlton/htdocs/guide/ rsync -avzP --delete -e ssh guide-YYYYMMDD.tgz user@web.sourceforge.net:/home/project-web/mlton/htdocs/guide/ ---- == Announce release == * Mail announcement to: ** mailto:MLton-devel@mlton.org[`MLton-devel@mlton.org`] ** mailto:MLton-user@mlton.org[`MLton-user@mlton.org`] == Misc. == * Generate new <:Performance:> numbers.