summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/toaster/toastergui/templates/builddashboard.html
diff options
context:
space:
mode:
authorElliot Smith <elliot.smith@intel.com>2016-07-13 14:42:31 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-08-11 00:09:26 +0100
commit2d80b902b804bc5927afbec2ad215f8959d0f581 (patch)
tree3d282de3198c544219c0b17db0a9e6641c0253be /bitbake/lib/toaster/toastergui/templates/builddashboard.html
parente387a7ab9d46535a495bc7052915021dc914205d (diff)
downloadpoky-2d80b902b804bc5927afbec2ad215f8959d0f581.tar.gz
bitbake: toaster: adjust build dashboard for failed builds
Remove the side bar and build details modules for failed builds. [YOCTO #8443] (Bitbake rev: 9d68a5bfdccd399791e1af048fefa73b5df90bcb) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/toaster/toastergui/templates/builddashboard.html')
-rw-r--r--bitbake/lib/toaster/toastergui/templates/builddashboard.html147
1 files changed, 75 insertions, 72 deletions
diff --git a/bitbake/lib/toaster/toastergui/templates/builddashboard.html b/bitbake/lib/toaster/toastergui/templates/builddashboard.html
index 61ae583d23..9e6e1c172b 100644
--- a/bitbake/lib/toaster/toastergui/templates/builddashboard.html
+++ b/bitbake/lib/toaster/toastergui/templates/builddashboard.html
@@ -14,7 +14,7 @@
14 14
15{% block buildinfomain %} 15{% block buildinfomain %}
16<!-- page title --> 16<!-- page title -->
17<div class="col-md-10"> 17<div class="{% if build.started %}col-md-10{% else %}col-md-12{% endif %}">
18 <div class="page-header build-data"> 18 <div class="page-header build-data">
19 <h1>{{build.get_sorted_target_list|field_values:"target"|join:", "}} {{build.machine}}</h1> 19 <h1>{{build.get_sorted_target_list|field_values:"target"|join:", "}} {{build.machine}}</h1>
20 </div> 20 </div>
@@ -62,9 +62,9 @@
62 </div> 62 </div>
63 <div class="panel-collapse collapse in" id="error-info"> 63 <div class="panel-collapse collapse in" id="error-info">
64 <div class="panel-body"> 64 <div class="panel-body">
65 <div class="col-md-10"> 65 <div class="{% if build.started %}col-md-10{% else %}col-md-12{% endif %}">
66 {% for error in build.errors %} 66 {% for error in build.errors %}
67 <div class="alert alert-danger" data-error="{{ error.id }}"> 67 <div class="alert alert-danger" data-log-message-id="{{error.pk}}">
68 <pre>{{error.message}}</pre> 68 <pre>{{error.message}}</pre>
69 </div> 69 </div>
70 {% endfor %} 70 {% endfor %}
@@ -201,79 +201,82 @@
201 </div> 201 </div>
202 202
203{% endif %} 203{% endif %}
204<!-- build summary --> 204
205<h2>Build summary</h2> 205{% if build.started %}
206 <div class="row"> 206 <!-- build summary -->
207 <div class="col-md-4 dashboard-section"> 207 <h2 data-role="build-summary-heading">Build summary</h2>
208 <div class="well well-transparent"> 208 <div class="row">
209 <h3><a href="{%url 'configuration' build.pk%}">Configuration</a></h3> 209 <div class="col-md-4 dashboard-section">
210 <dl> 210 <div class="well well-transparent">
211 <dt>Machine</dt><dd>{{build.machine}}</dd> 211 <h3><a href="{%url 'configuration' build.pk%}">Configuration</a></h3>
212 <dt>Distro</dt><dd>{{build.distro}}</dd> 212 <dl>
213 <dt>Layers</dt><dd><ul class="list-unstyled">{% for i in build.layer_version_build.all|dictsort:"layer.name" %}<li>{{i.layer.name}}</li>{%endfor%}</ul></dd> 213 <dt>Machine</dt><dd>{{build.machine}}</dd>
214 </dl> 214 <dt>Distro</dt><dd>{{build.distro}}</dd>
215 <dt>Layers</dt><dd><ul class="list-unstyled">{% for i in build.layer_version_build.all|dictsort:"layer.name" %}<li>{{i.layer.name}}</li>{%endfor%}</ul></dd>
216 </dl>
217 </div>
215 </div> 218 </div>
216 </div> 219 <div class="col-md-4 dashboard-section">
217 <div class="col-md-4 dashboard-section"> 220 <div class="well well-transparent">
218 <div class="well well-transparent"> 221 <h3><a href="{%url 'tasks' build.pk%}">Tasks</a></h3>
219 <h3><a href="{%url 'tasks' build.pk%}">Tasks</a></h3> 222 <dl>
220 <dl> 223 {% query build.task_build outcome=4 order__gt=0 as exectask%}
221 {% query build.task_build outcome=4 order__gt=0 as exectask%} 224 {% if exectask.count > 0 %}
222 {% if exectask.count > 0 %} 225 <dt>Failed tasks</dt>
223 <dt>Failed tasks</dt> 226 <dd>
224 <dd> 227 {% if exectask.count == 1 %}
225 {% if exectask.count == 1 %} 228 <a class="text-danger" href="{% url "task" build.id exectask.0.id %}">
226 <a class="text-danger" href="{% url "task" build.id exectask.0.id %}"> 229 {{exectask.0.recipe.name}}
227 {{exectask.0.recipe.name}} 230 <span class="task-name">{{exectask.0.task_name}}</span>
228 <span class="task-name">{{exectask.0.task_name}}</span> 231 </a>
229 </a>
230 232
231 <a href="{% url 'build_artifact' build.id "tasklogfile" exectask.0.id %}"> 233 <a href="{% url 'build_artifact' build.id "tasklogfile" exectask.0.id %}">
232 <span class="glyphicon glyphicon-download-alt get-help" title="Download task log file"></i> 234 <span class="glyphicon glyphicon-download-alt get-help" title="Download task log file"></i>
233 </a> 235 </a>
234 236
235 {% elif exectask.count > 1%} 237 {% elif exectask.count > 1%}
236 <a class="text-danger" href="{% url "tasks" build.id %}?filter=outcome%3A4">{{exectask.count}}</a> 238 <a class="text-danger" href="{% url "tasks" build.id %}?filter=outcome%3A4">{{exectask.count}}</a>
237 {% endif %} 239 {% endif %}
238 </dd> 240 </dd>
239 {% endif %} 241 {% endif %}
240 <dt>Total number of tasks</dt><dd><a href="{% url 'tasks' build.pk %}">{% query build.task_build order__gt=0 as alltasks %}{{alltasks.count}}</a></dd> 242 <dt>Total number of tasks</dt><dd><a href="{% url 'tasks' build.pk %}">{% query build.task_build order__gt=0 as alltasks %}{{alltasks.count}}</a></dd>
241 <dt> 243 <dt>
242 Tasks executed 244 Tasks executed
243 <span class="glyphicon glyphicon-question-sign get-help" title="'Executed' tasks are those that need to be run in order to generate the task output"></span> 245 <span class="glyphicon glyphicon-question-sign get-help" title="'Executed' tasks are those that need to be run in order to generate the task output"></span>
244 </dt> 246 </dt>
245 <dd><a href="{% url 'tasks' build.pk %}?filter=task_executed%3A1&amp;count=25&amp;search=&amp;page=1&amp;orderby=order%3A%2B">{% query build.task_build task_executed=1 order__gt=0 as exectask%}{{exectask.count}}</a></dd> 247 <dd><a href="{% url 'tasks' build.pk %}?filter=task_executed%3A1&amp;count=25&amp;search=&amp;page=1&amp;orderby=order%3A%2B">{% query build.task_build task_executed=1 order__gt=0 as exectask%}{{exectask.count}}</a></dd>
246 <dt> 248 <dt>
247 Tasks not executed 249 Tasks not executed
248 <span class="glyphicon glyphicon-question-sign get-help" title="'Not executed' tasks don't need to run because their outcome is provided by another task"></span> 250 <span class="glyphicon glyphicon-question-sign get-help" title="'Not executed' tasks don't need to run because their outcome is provided by another task"></span>
249 </dt> 251 </dt>
250 <dd><a href="{% url 'tasks' build.pk %}?filter=task_executed%3A0&amp;count=25&amp;search=&amp;page=1&amp;orderby=order%3A%2B">{% query build.task_build task_executed=0 order__gt=0 as noexectask%}{{noexectask.count}}</a></dd> 252 <dd><a href="{% url 'tasks' build.pk %}?filter=task_executed%3A0&amp;count=25&amp;search=&amp;page=1&amp;orderby=order%3A%2B">{% query build.task_build task_executed=0 order__gt=0 as noexectask%}{{noexectask.count}}</a></dd>
251 <dt> 253 <dt>
252 Reuse 254 Reuse
253 <span class="glyphicon glyphicon-question-sign get-help" title="The percentage of 'not executed' tasks over the total number of tasks, which is a measure of the efficiency of your build"></span> 255 <span class="glyphicon glyphicon-question-sign get-help" title="The percentage of 'not executed' tasks over the total number of tasks, which is a measure of the efficiency of your build"></span>
254 </dt> 256 </dt>
255 <dd> 257 <dd>
256{% query build.task_build order__gt=0 as texec %} 258 {% query build.task_build order__gt=0 as texec %}
257{% if noexectask.count|multiply:100|divide:texec.count < 0 %} 259 {% if noexectask.count|multiply:100|divide:texec.count < 0 %}
2580 260 0
259{% else %} 261 {% else %}
260{{noexectask.count|multiply:100|divide:texec.count}} 262 {{noexectask.count|multiply:100|divide:texec.count}}
261{% endif %} 263 {% endif %}
262% 264 %
263 </dd> 265 </dd>
264 </dl> 266 </dl>
267 </div>
268 </div>
269 <div class="col-md-4 dashboard-section">
270 <div class="well well-transparent">
271 <h3><a href="{% url 'recipes' build.pk %}">Recipes</a> & <a href="{% url 'packages' build.pk %}">Packages</a></h3>
272 <dl>
273 <dt>Recipes built</dt><dd><a href="{% url 'recipes' build.pk %}">{{recipecount}}</a></dd>
274 <dt>Packages built</dt><dd><a href="{% url 'packages' build.pk %}">{{packagecount}}</a></dd>
275 </dl>
265 </div> 276 </div>
266 </div>
267 <div class="col-md-4 dashboard-section">
268 <div class="well well-transparent">
269 <h3><a href="{% url 'recipes' build.pk %}">Recipes</a> & <a href="{% url 'packages' build.pk %}">Packages</a></h3>
270 <dl>
271 <dt>Recipes built</dt><dd><a href="{% url 'recipes' build.pk %}">{{recipecount}}</a></dd>
272 <dt>Packages built</dt><dd><a href="{% url 'packages' build.pk %}">{{packagecount}}</a></dd>
273 </dl>
274 </div> 277 </div>
275 </div> 278 </div>
276</div> 279{% endif %} <!-- end build summary -->
277 280
278{% if build.warnings.count %} 281{% if build.warnings.count %}
279 <div class="panel panel-default" id="warnings"> 282 <div class="panel panel-default" id="warnings">
@@ -285,9 +288,9 @@
285 </div> 288 </div>
286 <div class="panel-collapse collapse" id="warning-info"> 289 <div class="panel-collapse collapse" id="warning-info">
287 <div class="panel-body"> 290 <div class="panel-body">
288 <div class="col-md-10"> 291 <div class="{% if build.started %}col-md-10{% else %}col-md-12{% endif %}">
289 {% for warning in logmessages %}{% if warning.level == 1 %} 292 {% for warning in logmessages %}{% if warning.level == 1 %}
290 <div class="alert alert-warning"> 293 <div class="alert alert-warning" data-log-message-id="{{warning.pk}}">
291 <pre>{{warning.message}}</pre> 294 <pre>{{warning.message}}</pre>
292 </div> 295 </div>
293 {% endif %}{% endfor %} 296 {% endif %}{% endfor %}