Import Upstream version 20180207
[hcoop/debian/mlton.git] / doc / guide / src / ReleaseChecklist.adoc
CommitLineData
7f918cf1
CE
1ReleaseChecklist
2================
3
4== Advance preparation for release ==
5
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.
16* Update `doc/guide`.
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.
25** Spell check pages.
26* Ensure that all updates are pushed to `master` branch of <!ViewGitProj(mlton)>.
27
28== Prepare sources for tagging ==
29
30* Update `./CHANGELOG.adoc`.
31** Update with proper release date.
32* Update `man/{mlton,mlprof}.1`.
33** Update with proper release date.
34* Update `doc/guide`.
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)>.
46
47== Tag sources ==
48
49* Shell commands:
50+
51----
52git clone http://github.com/MLton/mlton mlton.git
53cd mlton.git
54git checkout master
55git tag -a -m "Tagging YYYYMMDD release" on-YYYYMMDD-release master
56git push origin on-YYYYMMDD-release
57----
58
59== Packaging ==
60
61=== SourceForge FRS ===
62
63* Create *YYYYMMDD* directory:
64+
65-----
66sftp user@frs.sourceforge.net:/home/frs/project/mlton/mlton
67sftp> mkdir YYYYMMDD
68sftp> quit
69-----
70
71=== Source release ===
72
73* Create `mlton-YYYYMMDD.src.tgz`:
74+
75----
76git clone http://github.com/MLton/mlton mlton
77cd mlton
78git checkout on-YYYYMMDD-release
79make MLTON_VERSION=YYYYMMDD source-release
80cd ..
81----
82+
83or
84+
85----
86wget https://github.com/MLton/mlton/archive/on-YYYYMMDD-release.tar.gz
87tar xzvf on-YYYYMMDD-release.tar.gz
88cd mlton-on-YYYYMMDD-release
89make MLTON_VERSION=YYYYMMDD source-release
90cd ..
91----
92
93* Upload `mlton-YYYYMMDD.src.tgz`:
94+
95-----
96scp mlton-YYYYMMDD.src.tgz user@frs.sourceforge.net:/home/frs/project/mlton/mlton/YYYYMMDD/
97-----
98
99* Update *ReleaseYYYYMMDD* with `mlton-YYYYMMDD.src.tgz` link.
100
101=== Binary releases ===
102
103* Build and create `mlton-YYYYMMDD-1.ARCH-OS.tgz`:
104+
105----
106wget http://sourceforge.net/projects/mlton/files/mlton/YYYYMMDD/mlton-YYYYMMDD.src.tgz
107tar xzvf mlton-YYYYMMDD.src.tgz
108cd mlton-YYYYMMDD
109make binary-release
110cd ..
111----
112
113* Upload `mlton-YYYYMMDD-1.ARCH-OS.tgz`:
114+
115-----
116scp mlton-YYYYMMDD-1.ARCH-OS.tgz user@frs.sourceforge.net:/home/frs/project/mlton/mlton/YYYYMMDD/
117-----
118
119* Update *ReleaseYYYYMMDD* with `mlton-YYYYMMDD-1.ARCH-OS.tgz` link.
120
121== Website ==
122
123* `guide/YYYYMMDD` gets a copy of `doc/guide/localhost`.
124* Shell commands:
125+
126----
127wget http://sourceforge.net/projects/mlton/files/mlton/YYYYMMDD/mlton-YYYYMMDD.src.tgz
128tar xzvf mlton-YYYYMMDD.src.tgz
129cd mlton-YYYYMMDD
130cd doc/guide
131cp -prf localhost YYYYMMDD
132tar czvf guide-YYYYMMDD.tgz YYYYMMDD
133rsync -avzP --delete -e ssh YYYYMMDD user@web.sourceforge.net:/home/project-web/mlton/htdocs/guide/
134rsync -avzP --delete -e ssh guide-YYYYMMDD.tgz user@web.sourceforge.net:/home/project-web/mlton/htdocs/guide/
135----
136
137== Announce release ==
138
139* Mail announcement to:
140** mailto:MLton-devel@mlton.org[`MLton-devel@mlton.org`]
141** mailto:MLton-user@mlton.org[`MLton-user@mlton.org`]
142
143== Misc. ==
144
145* Generate new <:Performance:> numbers.