aboutsummaryrefslogtreecommitdiffstats
path: root/docs/HowToReleaseLLVM.html
blob: decb89f174cf07da126e0fa2354d830131551a05 (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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
                      "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
  <title>How To Release LLVM To The Public</title>
  <link rel="stylesheet" href="llvm.css" type="text/css">
</head>
<body>

<div class="doc_title">How To Release LLVM To The Public</div>
<p class="doc_warning">NOTE: THIS DOCUMENT IS A WORK IN PROGRESS!</p>
<ol>
  <li><a href="#introduction">Introduction</a></li>
  <li><a href="#process">Release Process</a>
  <ol>
    <li><a href="overview">Overview</a></li>
    <li><a href="merge">Merge Branches</a></li>
    <li><a href="build">Build LLVM</a></li>
    <li><a href="check">Run 'make check'</a></li>
    <li><a href="test">Run LLVM Test Suite</a></li>
    <li><a href="deps">make LibDeps.txt</a></li>
    <li><a href="tag">cvs tag</a></li>
    <li><a href="dist">make dist</a></li>
    <li><a href="release">Release</a></li>
  </ol></li>
</ol>
<div class="doc_author">
  <p>Written by <a href="mailto:rspencer@x10sys.com">Reid Spencer</a></p>
</div>

<!-- *********************************************************************** -->
<div class="doc_section"><a name="introduction">Introduction</a></div>
<!-- *********************************************************************** -->

<div class="doc_text">
<p>This document collects information about successfully releasing LLVM to the
public. It is the release manager's guide to ensuring that a high quality build
of LLVM is released. Mostly, its just a bunch of reminders of things to do at
release time so we don't inadvertently ship something that is utility 
deficient.</p>
</div>

<!-- *********************************************************************** -->
<div class="doc_section"><a name="process">Release Process</a></div>
<!-- *********************************************************************** -->

<!-- ======================================================================= -->
<div class="doc_subsection"><a name="overview">Process Overview</a></div>
<div class="doc_text">
  <ol>
    <li><a href="merge">Merge Branches</a></li>
    <li><a href="build">Build LLVM</a></li>
    <li><a href="check">Run 'make check'</a></li>
    <li><a href="test">Run LLVM Test Suite</a></li>
    <li><a href="deps">make LibDeps.txt</a></li>
    <li><a href="tag">cvs tag</a></li>
    <li><a href="dist">make dist</a></li>
    <li><a href="release">release</a></li>
  </ol>
</div>

<!-- ======================================================================= -->
<div class="doc_subsection"><a name="merge">Merge Branches</a></div>
<div class="doc_text">
<p>Merge any work done on branches intended for release into mainline.</p>
</div>

<!-- ======================================================================= -->
<div class="doc_subsection"><a name="build">Build LLVM</a></div>
<div class="doc_text">
  <p>Build LLVM</p>
</div>

<!-- ======================================================================= -->
<div class="doc_subsection"><a name="check">Run 'make check'</a></div>
<div class="doc_text">
  <p>Run "make check" and ensure there are no unexpected failures. If there
  are, resolve the failures and go back to step 2.</p>
</div>

<!-- ======================================================================= -->
<div class="doc_subsection"><a name="test">LLVM Test Suite</a></div>
<div class="doc_text">
  <p>Run the llvm-test suite and ensure there are no unacceptable failures.
  If there are, resolve the failures and go back to step 2.</p>
</div>

<!-- ======================================================================= -->
<div class="doc_subsection"><a name="deps">Make LibDeps.txt</a></div>
<div class="doc_text">
  <p>Rebuild the LibDeps.txt target in utils/llvm-config. This makes sure that
  the llvm-config utility remains relevant for the release, reflecting any
  changes in the library dependencies.</p>
</div>

<!-- ======================================================================= -->
<div class="doc_subsection"><a name="tag">CVS Tag</a></div>
<div class="doc_text">
  <p>Tag the release.</p>
</div>

<!-- ======================================================================= -->
<div class="doc_subsection"><a name="dist">Run 'make dist'</a></div>
<div class="doc_text">
  <p>Build the distribution, ensuring it is installable and working</p>
</div>

<!-- ======================================================================= -->
<div class="doc_subsection"><a name="release">Release</a></div>
<div class="doc_text">
  <p>Release the distribution tarball to the public.</p>
</div>

<!-- *********************************************************************** -->
<hr>
<address>
  <a href="http://jigsaw.w3.org/css-validator/check/referer"><img
  src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!"></a>
  <a href="http://validator.w3.org/check/referer"><img
  src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!" /></a>

  <a href="mailto:rspencer@x10sys.com">Reid Spencer</a><br>
  <a href="http://llvm.cs.uiuc.edu">The LLVM Compiler Infrastructure</a>
  <br/>
  Last modified: $Date$
</address>
</body>
</html>