summaryrefslogtreecommitdiff
path: root/more/release_mgr_checklist.html
blob: 7cfaa1fe0f88915da20a156667d50887ab76c443 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>

<head>
<meta http-equiv="Content-Language" content="en-us">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Release Manager's Checklist</title>
</head>

<body bgcolor="#FFFFFF">

<table border="1" bgcolor="#007F7F" cellpadding="2">
  <tr>
    <td bgcolor="#FFFFFF">
    <img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
    <td><a href="../index.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>Home</big></font></a></td>
    <td><a href="../libs/libraries.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>Libraries</big></font></a></td>
    <td><a href="../people/people.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>People</big></font></a></td>
    <td><a href="../more/faq.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>FAQ</big></font></a></td>
    <td><a href="../more/index.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>More</big></font></a></td>
  </tr>
</table>


<h1>Release Manager's Checklist</h1>

<p><a href="#Introduction">Introduction</a><br>
<a href="#Pre-release">Pre-release activities</a><br>
<a href="#Branch-for-release">CVS Branch for release</a><br>
<a href="#CVS-release">CVS Release</a><br>
<a href="#Distribution">Distribution</a></p>

<h2><a name="Introduction">Introduction</a></h2>
<p>Historically, items on this checklist were accomplished by scripts written 
in Perl, Python, Bash, C++, and as Windows command files, or by point-and-click 
on a FrontPage or other GUI based program. Long term the plan is to move as much 
as possible of these to C++, as 
the one language all Boost developers are comfortable with. </p>
<h2><a name="Pre-release">Pre-release</a> activities</h2>
<ul>
  <li>After discussion on the main list, post the release schedule.<br>
&nbsp;</li>
  <li>Verify the <i><b>root/index.htm</b></i>, <i><b>root/boost/version.hpp</b></i>, <i><b>root/Jamfile.v2</b></i> and 
  <i><b>root/Jamrules</b></i>
  release numbers are correct and agree. <br>
&nbsp;</li>
  <li>Verify via <a href="mailto:jamboost@yahoogroups.com">jamboost@yahoogroups.com</a> 
  that bjam pre-built executables up-to-date.<br>
&nbsp;</li>
  <li>Remove the oldest &quot;Latest News&quot; from root/index.htm.<br>
&nbsp;</li>
  <li>For each new library added this release:</li>
</ul>
<blockquote>
  <ul>
    <li>Verify root/index.htm Latest News entry has been made and reads well.<br>
&nbsp;</li>
    <li>Verify root/libs/libraries.htm entry has been made, both in the 
    alphabetic list and in the category lists.<br>
&nbsp;</li>
    <li>Verify the root/libs/xxx directory contains an index.htm or index.html 
    file; either the main docs or a redirection to the main docs. <b><i>To do: 
    automate this.</i></b><br>
&nbsp;</li>
    <li>Skim read the primary docs pages to make sure they meet Boost 
    requirements and guidelines. <b><i>Don't leave this until too late; it has 
    turned up lots of issues in the past.<br>
&nbsp;</i></b></li>
    <li>Generate the header dependency table and update the CVS.<b><i> To do: 
    coordinate with John Maddock's new dependency tools.</i></b></li>
  </ul>
</blockquote>
<ul>
  <li>Monitor
  <a href="http://boost.sourceforge.net/regression-logs/inspection_report.html">
  http://boost.sourceforge.net/regression-logs/inspection_report.html</a> to 
  verify problems are actively being reduced. Make sure none of the problems are 
  in files the release manager is responsible for.<br>
&nbsp;</li>
  <li>Monitor regression tests (<a href="http://boost.sourceforge.net/regression-logs/inspection_report.html">http://boost.sourceforge.net/regression-logs</a>) 
  to verify that errors are actively being reduced or accounted for on key 
  platforms and compilers.<br>
&nbsp;<ul>
    <li>Boost errors are being actively worked on by library maintainers.</li>
    <li>Compiler or standard library errors are at least identified, and 
    preferably reported to the supplier.</li>
    <li>No errors remain uninvestigated or unclassified.<br>
&nbsp;</li>
  </ul>
  </li>
  <li>Monitor the developer and user mailing lists to verify that all posted 
  patches are being applied, rejected, or otherwise dealt with.<br>
&nbsp;</li>
  <li>Monitor the developer and user mailing lists, and the SourceForge bug 
  tracker, to verify that all posted bug reports are being investigated, fixed, 
  rejected, or otherwise dealt with.<br>
&nbsp;</li>
  <li>Monitor CVS commits to verify that all the expected and/or promised 
  content actually gets committed. Try to get developers to avoid last minute 
  commits of major changes.</li>
</ul>
<h2><a name="Branch-for-release">CVS Branch for release</a></h2>
<ul>
  <li>Pre-release activities complete enough to justify branch-for-release?<br>
&nbsp;</li>
  <li>Everybody happy?<br>
&nbsp;</li>
  <li>Branch for release:<ul>
  <li>Tag the main trunk&nbsp; <code>merged_to_RC_n_n_n</code>.</li>
  <li>Branch the main trunk with the tag <code>RC_n_n_n</code>.<br>
&nbsp;</li>
</ul>
  </li>
  <li>Post notice on main list.&nbsp;Remind developers that fixes which apply 
  to both Main Trunk and Branch have to be committed separately to both.</li>
</ul>
<h2><a name="CVS-release">CVS Release</a></h2>
<ul>
  <li>Pre-release activities all complete?<br>
&nbsp;</li>
  <li>Post notice to make sure all developers ready.<br>
&nbsp;</li>
  <li>Tag: WinCVS: Select site, then tag (Modify|Create tag..., toolbar T on doc). New 
  tag name: Version_1_21_2 (or whatever). If prior release failed, select 
  &quot;overwrite existing tags with the same name&quot;.</li>
</ul>
<h2><a name="Distribution">Distribution</a></h2>
<p>These procedures are given for a particular release manager's machine. The 
plan is to replace them with more generic procedures over time.</p>
<ul>
  <li>Create folders for export:<br>
  <br>
&nbsp;&nbsp;&nbsp; c:\boost\boost_1_28_0<br>
&nbsp;&nbsp;&nbsp; c:\boost\temp\boost_1_28_0<br>
  <br>
  Note that several batch files assume these locations and naming schemes.<br>
&nbsp;</li>
  <li>Export Win32 distribution: WinCVS | Remote | Checkout Module<br>
  <br>
  Checkout settings: module name and path on the server: boost, local folder to 
  checkout to: c:\boost\boost_1_28_0<br>
  <b><i>[for 1.29.0 export, put everything in a boost_1_29_0/boost subdirectory.&nbsp; 
  Experiments with 1.30.0 tried boost/boost as the path on server, but that just 
  resulted in getting the boost header subdirectory only.]</i></b><br>
  <br>
  Checkout options: (check) By revision/tab/branch: Version_1_28_0, (check) Do 
  not create CVS directories (export)<br>
  <br>
  This results in the follow command: cvs -z9 export -r Version_1_28_0 boost (in 
  directory C:\boost\boost_1_28_0)<br>
  <br>
  (takes about ten minutes)<br>
  <br>
  (rename boost-root if needed !!!!!!!!!!!!!!!!!!!)<br>
&nbsp;</li>
  <li>Export Unix distribution: similar to above, except target is c:\boost\temp\boost_1_28_0 
  and set global for UNIX nl.<br>
  &nbsp;</li>
  <li>!!!!!! VERY IMPORTANT: WinCVS | Set Preferences | Global back to non-UNIX nl. 
  !!!!!!!!!!!!!!!<br>
&nbsp;</li>
  <li>Add regression results web pages into package (new in 1.33 so this is just a shot at the process - jeff)<br>
    download all the regression results from website (may need meta-comm help on this)<br>
    unpack the regression results into tools/regression/latest_release<br>
    <br>

  </li>
  <li>General ZIP and TAR.GZ files<br>
  <br>
  n_n_n is 1_28_0 or whatever<br>
  <br>
  cd \boost<br>
  boost_zip 1_21_2 (creates zip.log) <br>
  boost_tar_gz 1_21_2<br>
  bash<br>
&nbsp;&nbsp;&nbsp;
  gunzip -c boost_1_21_2.tar.gz | bzip2 &gt; boost_1_21_2.tar.bz2<br>
&nbsp;&nbsp;&nbsp; exit<br>
  &nbsp;</li>
  <li>Upload and unpack the .zip release candidate to a SourceForge web services 
  sub-directory. Post a message to the main list asking developers to check 
  contents. (Daniel Frey has volunteered to help check).<br>
&nbsp;</li>
  <li>Upload files for SourceForge release incoming directory using <b>WS_FTP Pro</b><ul>
  <li>Start keep_isdn_awake</li>
  <li>Connection: SourceForge Release Upload | connect</li>
  <li>Select Local system: c:\boost</li>
  <li>Select Remote system: /incoming</li>
  <li>Drag-and-drop the three release files from Local system to Remote system</li>
  <li>Disconnect</li>
  <li>Stop keep_isdn_awake<br>
&nbsp;</li>
</ul>
  </li>
  <li>Complete the SourceForge
  <a href="http://sourceforge.net/docman/display_doc.php?docid=6445&amp;group_id=1#createrelease">
  release procedure</a>.<ul>
  <li>Admin | File Releases | Add Release for package name boost</li>
  <li>New release name: 1.21.2 | create this release</li>
  <li>Step 1: paste in release notes (in HTML). <b>Be sure to note difference 
  between .zip and .gz/bz2 files.</b> Submit/Refresh</li>
  <li>Step 2: Check appropriate files. Add Files and/or Refresh View</li>
  <li>Step 3: For each file, select Processor and File Type, Update/Refresh</li>
  <li>Setp 4: Email Release Notice: I'm sure. Send Notice.</li>
  <li>Wait up to 30 minutes.</li>
  <li>Check SourceForge release page and release notes with web browser.<br>
&nbsp;</li>
</ul>
  </li>
  <li><i><b>Consider putting up a temporary &quot;Update in progress&quot; root/index.html 
  during site update<br>
&nbsp;</b></i></li>
  <li>Update the web site:<pre>cd ...\boost_1_28_0
tar -cf site.tar *
bzip2 -k site.tar

dir site.tar.bz2
pscp site.tar.bz2 beman_dawes@shell1.sourceforge.net:/home/groups/b/bo/boost/htdocs/

keep_idsn_awake in another window.

c:\bgd\util\putty\plink.exe beman_dawes@shell.sourceforge.net
cd /home/groups/b/bo/boost/htdocs
pwd
ls -l site.tar.bz2

rm -fr boost
rm -fr doc
rm -fr libs
rm -fr more
rm -fr people
rm -fr status
rm -fr tools
bunzip2 -kc site.tar.bz2 | tar -x 
ls
exit

stop keep_isdn_awake</pre>
  </li>
  <li>Check actual <a href="http://www.boost.org">www.boost.org</a> site with 
  browser. Look at a bunch of files that should have been updated to make sure 
  the updates actually &quot;took&quot;.<br>
&nbsp;</li>
  <li>Post a message announcing the release and recapping &quot;Latest News&quot;.&nbsp; 
  Post as separate messages to: boost, boost-announce, boost-users, 
  comp.lang.c++.moderated,
  <a href="mailto:c++std-news@research.att.com">c++std-news@research.att.com</a><br>
&nbsp;</li>
  <li>Using the SourceForge shell services (sf_shell_svc.bat), cd /home/groups/b/bo/boost/htdocs, 
  and rename regression tests as necessary.<br>
&nbsp;</li>
  <li>Burn &quot;Key Directories&quot; CD for off-site backup.<br>
&nbsp;</li>
  <li>Make sure CVS working copy is updated to main branch!<br>
&nbsp;</li>
  <li>Ready <i><b>root/index.htm</b></i>, <i><b>root/boost/version.hpp</b></i>, <b>root/Jamfile.v2</b> and 
  <i><b>root/Jamrules</b></i> for the 
  next release and commit to CVS so developers have a place to add &quot;Latest news&quot; 
  blurbs.<br>
&nbsp;</li>
  <li>Delete obsolete files from yahoogroups files section.</li>
</ul>
<hr>
<p>Revised:
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->21 November, 2005<!--webbot bot="Timestamp" endspan i-checksum="40405" --></p>
<p>© Copyright Beman Dawes 2001</p>

<p>Distributed under the Boost Software License, Version 1.0. (See accompanying
file <a href="../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or copy at
<a href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>)</p>

</body>

</html>