aboutsummaryrefslogtreecommitdiff
path: root/docs/HowToReleaseLLVM.html
blob: 02b54bb7eeb36efb20e29f4d66271c58f0951cff (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
<!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>

<table class="layout" style="width: 90%" >
<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>