-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathAutomatedBuildProcess.html
185 lines (142 loc) · 8.14 KB
/
AutomatedBuildProcess.html
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
<!DOCTYPE html>
<html lang="en" data-content_root="./">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>The Automated Build Process</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css?v=fadd4351" />
<link rel="stylesheet" type="text/css" href="_static/custom.css?v=77160d70" />
<script src="_static/documentation_options.js?v=a8da1a53"></script>
<script src="_static/doctools.js?v=9bcbadda"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="Jenkins Configuration" href="JenkinsConfiguration.html" />
<link rel="prev" title="Mantid Git Workflow" href="GitWorkflow.html" />
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-59110517-1', 'auto');
ga('send', 'pageview');
</script>
</head><body>
<div id="navbar" class="navbar navbar-default ">
<div class="container">
<div class="navbar-header">
<!-- .btn-navbar is used as the toggle for collapsed navbar content -->
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="http://www.mantidproject.org">
</a>
<span class="navbar-text navbar-version pull-left"><b>main</b></span>
</div>
<div class="collapse navbar-collapse nav-collapse">
<ul class="nav navbar-nav">
<li class="divider-vertical"></li>
<li><a href="index.html">Home</a></li>
<li><a href="https://download.mantidproject.org">Download</a></li>
<li><a href="https://docs.mantidproject.org">User Documentation</a></li>
<li><a href="http://www.mantidproject.org/contact">Contact Us</a></li>
</ul>
<form class="navbar-form navbar-right" action="search.html" method="get">
<div class="form-group">
<input type="text" name="q" class="form-control" placeholder="Search" />
</div>
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<p>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="nav-item nav-item-0"><a href="index.html">Documentation</a> »</li>
<li class="nav-item nav-item-this"><a href="">The Automated Build Process</a></li>
</ul>
</div> </p>
</div>
<div class="container">
<div class="row">
<div class="body col-md-12 content" role="main">
<section id="the-automated-build-process">
<h1>The Automated Build Process<a class="headerlink" href="#the-automated-build-process" title="Link to this heading">¶</a></h1>
<nav class="contents local" id="contents">
<p class="topic-title">Contents</p>
<ul class="simple">
<li><p><a class="reference internal" href="#summary" id="id1">Summary</a></p></li>
<li><p><a class="reference internal" href="#the-details" id="id2">The Details</a></p></li>
<li><p><a class="reference internal" href="#other-notes" id="id3">Other Notes</a></p></li>
<li><p><a class="reference internal" href="#nightly-pipelines" id="id4">Nightly Pipelines</a></p></li>
</ul>
</nav>
<section id="summary">
<h2><a class="toc-backref" href="#id1" role="doc-backlink">Summary</a><a class="headerlink" href="#summary" title="Link to this heading">¶</a></h2>
<p>If your changes break the <code class="docutils literal notranslate"><span class="pre">main</span></code> builds in any way, on any platform,
then it is your responsibility to fix the error immediately!</p>
</section>
<section id="the-details">
<h2><a class="toc-backref" href="#id2" role="doc-backlink">The Details</a><a class="headerlink" href="#the-details" title="Link to this heading">¶</a></h2>
<p>You should follow the <a class="reference internal" href="GitWorkflow.html#gitworkflow"><span class="std std-ref">Mantid Git Workflow</span></a>. When you open a
pull request (or commit to an already open pull request) the automated
build process will start. There will be a different build for each
platform/job. A status will appear for each job in the pull request.</p>
<p>The status for each build will be either pending, success or failed.</p>
<img alt="_images/BuildStatuses.png" src="_images/BuildStatuses.png" />
<p>To see the details of a particular build in Jenkins, click on Details
next to the status. To restart a build, if it failed with a spurious
error not related to your code changes, then you can restart that
particular build by selecting Rebuild in Jenkins. Then press “Rebuild”
on the next screen while not changing any of the parameters. If
you don’t have permission to restart builds in Jenkins, you will have
to ask someone who does.</p>
<img alt="_images/RestartBuild.png" src="_images/RestartBuild.png" />
</section>
<section id="other-notes">
<h2><a class="toc-backref" href="#id3" role="doc-backlink">Other Notes</a><a class="headerlink" href="#other-notes" title="Link to this heading">¶</a></h2>
<p>The build will fail if it cannot be cleanly merged with main.</p>
<p>Leeroy will check every 10 minutes for any missed builds, should the
GitHub hooks fail to activate or the build server was down when the
pull request was opened.</p>
<p>The pull request builder we are using is called <a class="reference external" href="https://github.com/mantidproject/leeroy">Leeroy</a>.</p>
<p>You can find a list of all the pull request Jenkins jobs at <a class="reference external" href="http://builds.mantidproject.org/view/Pull%20Requests/">here</a>.</p>
</section>
<section id="nightly-pipelines">
<h2><a class="toc-backref" href="#id4" role="doc-backlink">Nightly Pipelines</a><a class="headerlink" href="#nightly-pipelines" title="Link to this heading">¶</a></h2>
<p>The nightly pipelines are Jenkins jobs responsible for building Mantid packages
and deploying them to the Mantid conda channel. They build both nightly and release versions.
You can find them on <a class="reference external" href="https://builds.mantidproject.org/view/Nightly%20Pipelines/">this page</a>.</p>
<p>The <a class="reference external" href="https://builds.mantidproject.org/view/Nightly%20Pipelines/">build_packages_from_branch</a>
is a Jenkins job based on these nightly jobs that allows you to manually build packages
from an upstream branch in the Mantid repository. For the full guide on how to use the
job, please follow <a class="reference external" href="https://developer.mantidproject.org/Packaging.html#build-packages-from-branch-using-jenkins">this link</a>.</p>
</section>
</section>
</div>
</div>
</div>
<footer class="footer">
<div class="container">
<ul class="nav navbar-nav" style=" float: right;">
<li>
<a href="GitWorkflow.html" title="Previous Chapter: Mantid Git Workflow"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">« Mantid Git Workflow</span>
</a>
</li>
<li>
<a href="JenkinsConfiguration.html" title="Next Chapter: Jenkins Configuration"><span class="glyphicon glyphicon-chevron-right visible-sm"></span><span class="hidden-sm hidden-tablet">Jenkins Configuration »</span>
</a>
</li>
<li><a href="#">Back to top</a></li>
</ul>
<p>
</p>
</div>
</footer>
</body>
</html>