A very early, rough draft of a guide to making public releases for LLVM.
[oota-llvm.git] / docs / HowToReleaseLLVM.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
2                       "http://www.w3.org/TR/html4/strict.dtd">
3 <html>
4 <head>
5   <title>How To Release LLVM To The Public</title>
6   <link rel="stylesheet" href="llvm.css" type="text/css">
7 </head>
8 <body>
9
10 <div class="doc_title">How To Release LLVM To The Public</div>
11 <p class="doc_warning">NOTE: THIS DOCUMENT IS A WORK IN PROGRESS!</p>
12
13 <table class="layout" style="width: 90%" >
14 <ol>
15   <li><a href="#introduction">Introduction</a></li>
16   <li><a href="#process">Release Process</a>
17   <ol>
18     <li><a href="overview">Overview</a></li>
19     <li><a href="merge">Merge Branches</a></li>
20     <li><a href="build">Build LLVM</a></li>
21     <li><a href="check">Run 'make check'</a></li>
22     <li><a href="test">Run LLVM Test Suite</a></li>
23     <li><a href="deps">make LibDeps.txt</a></li>
24     <li><a href="tag">cvs tag</a></li>
25     <li><a href="dist">make dist</a></li>
26     <li><a href="release">Release</a></li>
27   </ol></li>
28 </ol>
29 <div class="doc_author">
30   <p>Written by <a href="mailto:rspencer@x10sys.com">Reid Spencer</a></p>
31 </div>
32
33 <!-- *********************************************************************** -->
34 <div class="doc_section"><a name="introduction">Introduction</a></div>
35 <!-- *********************************************************************** -->
36
37 <div class="doc_text">
38 <p>This document collects information about successfully releasing LLVM to the
39 public. It is the release manager's guide to ensuring that a high quality build
40 of LLVM is released. Mostly, its just a bunch of reminders of things to do at
41 release time so we don't inadvertently ship something that is utility 
42 deficient.</p>
43 </div>
44
45 <!-- *********************************************************************** -->
46 <div class="doc_section"><a name="process">Release Process</a></div>
47 <!-- *********************************************************************** -->
48
49 <!-- ======================================================================= -->
50 <div class="doc_subsection"><a name="overview">Process Overview</a></div>
51 <div class="doc_text">
52   <ol>
53     <li><a href="merge">Merge Branches</a></li>
54     <li><a href="build">Build LLVM</a></li>
55     <li><a href="check">Run 'make check'</a></li>
56     <li><a href="test">Run LLVM Test Suite</a></li>
57     <li><a href="deps">make LibDeps.txt</a></li>
58     <li><a href="tag">cvs tag</a></li>
59     <li><a href="dist">make dist</a></li>
60     <li><a href="release">release</a></li>
61   </ol>
62 </div>
63
64 <!-- ======================================================================= -->
65 <div class="doc_subsection"><a name="merge">Merge Branches</a></div>
66 <div class="doc_text">
67 <p>Merge any work done on branches intended for release into mainline.</p>
68 </div>
69
70 <!-- ======================================================================= -->
71 <div class="doc_subsection"><a name="build">Build LLVM</a></div>
72 <div class="doc_text">
73   <p>Build LLVM</p>
74 </div>
75
76 <!-- ======================================================================= -->
77 <div class="doc_subsection"><a name="check">Run 'make check'</a></div>
78 <div class="doc_text">
79   <p>Run "make check" and ensure there are no unexpected failures. If there
80   are, resolve the failures and go back to step 2.</p>
81 </div>
82
83 <!-- ======================================================================= -->
84 <div class="doc_subsection"><a name="test">LLVM Test Suite</a></div>
85 <div class="doc_text">
86   <p>Run the llvm-test suite and ensure there are no unacceptable failures.
87   If there are, resolve the failures and go back to step 2.</p>
88 </div>
89
90 <!-- ======================================================================= -->
91 <div class="doc_subsection"><a name="deps">Make LibDeps.txt</a></div>
92 <div class="doc_text">
93   <p>Rebuild the LibDeps.txt target in utils/llvm-config. This makes sure that
94   the llvm-config utility remains relevant for the release, reflecting any
95   changes in the library dependencies.</p>
96 </div>
97
98 <!-- ======================================================================= -->
99 <div class="doc_subsection"><a name="tag">CVS Tag</a></div>
100 <div class="doc_text">
101   <p>Tag the release.</p>
102 </div>
103
104 <!-- ======================================================================= -->
105 <div class="doc_subsection"><a name="dist">Run 'make dist'</a></div>
106 <div class="doc_text">
107   <p>Build the distribution, ensuring it is installable and working</p>
108 </div>
109
110 <!-- ======================================================================= -->
111 <div class="doc_subsection"><a name="release">Release</a></div>
112 <div class="doc_text">
113   <p>Release the distribution tarball to the public.</p>
114 </div>
115
116 <!-- *********************************************************************** -->
117 <hr>
118 <address>
119   <a href="http://jigsaw.w3.org/css-validator/check/referer"><img
120   src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!"></a>
121   <a href="http://validator.w3.org/check/referer"><img
122   src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!" /></a>
123
124   <a href="mailto:rspencer@x10sys.com">Reid Spencer</a><br>
125   <a href="http://llvm.cs.uiuc.edu">The LLVM Compiler Infrastructure</a>
126   <br/>
127   Last modified: $Date$
128 </address>
129 </body>
130 </html>