Commit | Line | Data |
---|---|---|
7f918cf1 CE |
1 | ReleaseChecklist |
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 | ---- | |
52 | git clone http://github.com/MLton/mlton mlton.git | |
53 | cd mlton.git | |
54 | git checkout master | |
55 | git tag -a -m "Tagging YYYYMMDD release" on-YYYYMMDD-release master | |
56 | git push origin on-YYYYMMDD-release | |
57 | ---- | |
58 | ||
59 | == Packaging == | |
60 | ||
61 | === SourceForge FRS === | |
62 | ||
63 | * Create *YYYYMMDD* directory: | |
64 | + | |
65 | ----- | |
66 | sftp user@frs.sourceforge.net:/home/frs/project/mlton/mlton | |
67 | sftp> mkdir YYYYMMDD | |
68 | sftp> quit | |
69 | ----- | |
70 | ||
71 | === Source release === | |
72 | ||
73 | * Create `mlton-YYYYMMDD.src.tgz`: | |
74 | + | |
75 | ---- | |
76 | git clone http://github.com/MLton/mlton mlton | |
77 | cd mlton | |
78 | git checkout on-YYYYMMDD-release | |
79 | make MLTON_VERSION=YYYYMMDD source-release | |
80 | cd .. | |
81 | ---- | |
82 | + | |
83 | or | |
84 | + | |
85 | ---- | |
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 | |
90 | cd .. | |
91 | ---- | |
92 | ||
93 | * Upload `mlton-YYYYMMDD.src.tgz`: | |
94 | + | |
95 | ----- | |
96 | scp 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 | ---- | |
106 | wget http://sourceforge.net/projects/mlton/files/mlton/YYYYMMDD/mlton-YYYYMMDD.src.tgz | |
107 | tar xzvf mlton-YYYYMMDD.src.tgz | |
108 | cd mlton-YYYYMMDD | |
109 | make binary-release | |
110 | cd .. | |
111 | ---- | |
112 | ||
113 | * Upload `mlton-YYYYMMDD-1.ARCH-OS.tgz`: | |
114 | + | |
115 | ----- | |
116 | scp 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 | ---- | |
127 | wget http://sourceforge.net/projects/mlton/files/mlton/YYYYMMDD/mlton-YYYYMMDD.src.tgz | |
128 | tar xzvf mlton-YYYYMMDD.src.tgz | |
129 | cd mlton-YYYYMMDD | |
130 | cd doc/guide | |
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/ | |
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. |