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.
-
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 mlton.
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 mlton.
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
-
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:
Misc.
-
Generate new Performance numbers.