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