4 == Advance preparation for release ==
6 * Update `./CHANGELOG.adoc`.
7 ** Write entries for missing notable commits.
8 ** Write summary of changes from previous release.
9 ** Update with estimated release date.
10 * Update `./README.adoc`.
11 ** Check features and description.
12 * Update `man/{mlton,mlprof}.1`.
13 ** Check compile-time and run-time options in `man/mlton.1`.
14 ** Check options in `man/mlprof.1`.
15 ** Update with estimated release date.
17 // ** Check <:OrphanedPages:> and <:WantedPages:>.
18 ** Synchronize <:Features:> page with `./README.adoc`.
19 ** Update <:Credits:> page with acknowledgements.
20 ** Create *ReleaseYYYYMM??* page (i.e., forthcoming release) based on *ReleaseXXXXLLCC* (i.e., previous release).
21 *** Update summary from `./CHANGELOG.adoc`.
22 *** Update links to estimated release date.
23 ** Create *BugsYYYYMM??* page based on *BugsXXXXLLCC*.
24 *** Update links to estimated release date.
26 * Ensure that all updates are pushed to `master` branch of <!ViewGitProj(mlton)>.
28 == Prepare sources for tagging ==
30 * Update `./CHANGELOG.adoc`.
31 ** Update with proper release date.
32 * Update `man/{mlton,mlprof}.1`.
33 ** Update with proper release date.
35 ** Rename *ReleaseYYYYMM??* to *ReleaseYYYYMMDD* with proper release date.
36 *** Update links with proper release date.
37 ** Rename *BugsYYYYMM??* to *BugsYYYYMMDD* with proper release date.
38 *** Update links with proper release date.
39 ** Update *ReleaseXXXXLLCC*.
40 *** Change intro to "`This is an archived public release of MLton, version XXXXLLCC.`"
41 ** Update <:Home:> with note of new release.
42 *** Change `What's new?` text to `Please try out our new release, <:ReleaseYYYYMMDD:MLton YYYYMMDD>`.
43 *** Update `Download` link with proper release date.
44 ** Update <:Releases:> with new release.
45 * Ensure that all updates are pushed to `master` branch of <!ViewGitProj(mlton)>.
52 git clone http://github.com/MLton/mlton mlton.git
55 git tag -a -m "Tagging YYYYMMDD release" on-YYYYMMDD-release master
56 git push origin on-YYYYMMDD-release
61 === SourceForge FRS ===
63 * Create *YYYYMMDD* directory:
66 sftp user@frs.sourceforge.net:/home/frs/project/mlton/mlton
71 === Source release ===
73 * Create `mlton-YYYYMMDD.src.tgz`:
76 git clone http://github.com/MLton/mlton mlton
78 git checkout on-YYYYMMDD-release
79 make MLTON_VERSION=YYYYMMDD source-release
86 wget https://github.com/MLton/mlton/archive/on-YYYYMMDD-release.tar.gz
87 tar xzvf on-YYYYMMDD-release.tar.gz
88 cd mlton-on-YYYYMMDD-release
89 make MLTON_VERSION=YYYYMMDD source-release
93 * Upload `mlton-YYYYMMDD.src.tgz`:
96 scp mlton-YYYYMMDD.src.tgz user@frs.sourceforge.net:/home/frs/project/mlton/mlton/YYYYMMDD/
99 * Update *ReleaseYYYYMMDD* with `mlton-YYYYMMDD.src.tgz` link.
101 === Binary releases ===
103 * Build and create `mlton-YYYYMMDD-1.ARCH-OS.tgz`:
106 wget http://sourceforge.net/projects/mlton/files/mlton/YYYYMMDD/mlton-YYYYMMDD.src.tgz
107 tar xzvf mlton-YYYYMMDD.src.tgz
113 * Upload `mlton-YYYYMMDD-1.ARCH-OS.tgz`:
116 scp mlton-YYYYMMDD-1.ARCH-OS.tgz user@frs.sourceforge.net:/home/frs/project/mlton/mlton/YYYYMMDD/
119 * Update *ReleaseYYYYMMDD* with `mlton-YYYYMMDD-1.ARCH-OS.tgz` link.
123 * `guide/YYYYMMDD` gets a copy of `doc/guide/localhost`.
127 wget http://sourceforge.net/projects/mlton/files/mlton/YYYYMMDD/mlton-YYYYMMDD.src.tgz
128 tar xzvf mlton-YYYYMMDD.src.tgz
131 cp -prf localhost YYYYMMDD
132 tar czvf guide-YYYYMMDD.tgz YYYYMMDD
133 rsync -avzP --delete -e ssh YYYYMMDD user@web.sourceforge.net:/home/project-web/mlton/htdocs/guide/
134 rsync -avzP --delete -e ssh guide-YYYYMMDD.tgz user@web.sourceforge.net:/home/project-web/mlton/htdocs/guide/
137 == Announce release ==
139 * Mail announcement to:
140 ** mailto:MLton-devel@mlton.org[`MLton-devel@mlton.org`]
141 ** mailto:MLton-user@mlton.org[`MLton-user@mlton.org`]
145 * Generate new <:Performance:> numbers.