diff options
Diffstat (limited to 'bitbake/lib/toaster/toastergui/templates/build.html')
-rw-r--r-- | bitbake/lib/toaster/toastergui/templates/build.html | 129 |
1 files changed, 69 insertions, 60 deletions
diff --git a/bitbake/lib/toaster/toastergui/templates/build.html b/bitbake/lib/toaster/toastergui/templates/build.html index 43b491d558..eb7e03c951 100644 --- a/bitbake/lib/toaster/toastergui/templates/build.html +++ b/bitbake/lib/toaster/toastergui/templates/build.html | |||
@@ -7,70 +7,77 @@ | |||
7 | {% block pagecontent %} | 7 | {% block pagecontent %} |
8 | <div class="row-fluid"> | 8 | <div class="row-fluid"> |
9 | 9 | ||
10 | <div class="page-header" style="margin-top:40px;"> | 10 | {%if mru.count > 0%} |
11 | <h1> | 11 | <div class="page-header" style="margin-top:40px;"> |
12 | Recent Builds | 12 | <h1> |
13 | </h1> | 13 | Recent Builds |
14 | </div> | 14 | </h1> |
15 | {% for build in mru %} | 15 | </div> |
16 | <div class="alert {%if build.outcome == build.SUCCEEDED%}alert-success{%elif build.outcome == build.FAILED%}alert-error{%else%}alert-info{%endif%}"> | 16 | {% for build in mru %} |
17 | <div class="row-fluid"> | 17 | <div class="alert {%if build.outcome == build.SUCCEEDED%}alert-success{%elif build.outcome == build.FAILED%}alert-error{%else%}alert-info{%endif%}"> |
18 | <div class="lead span5"> | 18 | <div class="row-fluid"> |
19 | {%if build.outcome == build.SUCCEEDED%}<i class="icon-ok-sign success"></i>{%elif build.outcome == build.FAILED%}<i class="icon-minus-sign error"></i>{%else%}{%endif%} | 19 | <div class="lead span5"> |
20 | <a href="{%url 'builddashboard' build.pk%}"> | 20 | {%if build.outcome == build.SUCCEEDED%}<i class="icon-ok-sign success"></i>{%elif build.outcome == build.FAILED%}<i class="icon-minus-sign error"></i>{%else%}{%endif%} |
21 | <span data-toggle="tooltip" {%if build.target_set.all.count > 1%}title="Targets: {%for target in build.target_set.all%}{{target.target}} {%endfor%}"{%endif%}>{{build.target_set.all.0.target}} {%if build.target_set.all.count > 1%}(+ {{build.target_set.all.count|add:"-1"}}){%endif%} {{build.machine}} ({{build.completed_on|naturaltime}})</span> | 21 | <a href="{%url 'builddashboard' build.pk%}"> |
22 | </a> | 22 | <span data-toggle="tooltip" {%if build.target_set.all.count > 1%}title="Targets: {%for target in build.target_set.all%}{{target.target}} {%endfor%}"{%endif%}>{{build.target_set.all.0.target}} {%if build.target_set.all.count > 1%}(+ {{build.target_set.all.count|add:"-1"}}){%endif%} {{build.machine}} ({{build.completed_on|naturaltime}})</span> |
23 | </div> | 23 | </a> |
24 | {%if build.outcome == build.SUCCEEDED or build.outcome == build.FAILED %} | 24 | </div> |
25 | <div class="span2 lead"> | 25 | {%if build.outcome == build.SUCCEEDED or build.outcome == build.FAILED %} |
26 | {% if build.errors_no %} | 26 | <div class="span2 lead"> |
27 | <i class="icon-minus-sign red"></i> <a href="{%url 'builddashboard' build.pk%}" class="error">{{build.errors_no}} error{{build.errors_no|pluralize}}</a> | 27 | {% if build.errors_no %} |
28 | {% endif %} | 28 | <i class="icon-minus-sign red"></i> <a href="{%url 'builddashboard' build.pk%}" class="error">{{build.errors_no}} error{{build.errors_no|pluralize}}</a> |
29 | </div> | 29 | {% endif %} |
30 | <div class="span2 lead"> | 30 | </div> |
31 | {% if build.warnings_no %} | 31 | <div class="span2 lead"> |
32 | <i class="icon-warning-sign yellow"></i> <a href="{%url 'builddashboard' build.pk%}" class="warning">{{build.warnings_no}} warning{{build.warnings_no|pluralize}}</a> | 32 | {% if build.warnings_no %} |
33 | {% endif %} | 33 | <i class="icon-warning-sign yellow"></i> <a href="{%url 'builddashboard' build.pk%}" class="warning">{{build.warnings_no}} warning{{build.warnings_no|pluralize}}</a> |
34 | </div> | 34 | {% endif %} |
35 | <div class="lead pull-right"> | ||
36 | Build time: <a href="build-time.html">{{ build|timespent }}</a> | ||
37 | </div> | ||
38 | {%endif%}{%if build.outcome == build.IN_PROGRESS %} | ||
39 | <div class="span4"> | ||
40 | <div class="progress" style="margin-top:5px;" data-toggle="tooltip" title="{{build.completeper}}% of tasks complete"> | ||
41 | <div style="width: {{build.completeper}}%;" class="bar"></div> | ||
42 | </div> | 35 | </div> |
36 | <div class="lead pull-right"> | ||
37 | Build time: <a href="build-time.html">{{ build|timespent }}</a> | ||
38 | </div> | ||
39 | {%endif%}{%if build.outcome == build.IN_PROGRESS %} | ||
40 | <div class="span4"> | ||
41 | <div class="progress" style="margin-top:5px;" data-toggle="tooltip" title="{{build.completeper}}% of tasks complete"> | ||
42 | <div style="width: {{build.completeper}}%;" class="bar"></div> | ||
43 | </div> | ||
44 | </div> | ||
45 | <div class="lead pull-right">ETA: in {{build.eta|naturaltime}}</div> | ||
46 | {%endif%} | ||
43 | </div> | 47 | </div> |
44 | <div class="lead pull-right">ETA: in {{build.eta|naturaltime}}</div> | ||
45 | {%endif%} | ||
46 | </div> | 48 | </div> |
47 | </div> | ||
48 | 49 | ||
49 | {% endfor %} | 50 | {% endfor %}{%endif%} |
50 | 51 | ||
51 | 52 | <div class="page-header" style="margin-top:40px;"> | |
52 | <div class="page-header" style="margin-top:40px;"> | 53 | <h1> |
53 | <h1> | 54 | {% if request.GET.filter or request.GET.search and objects.ocount > 0 %} |
54 | All builds | 55 | {{objects.ocount}} build{{objects.ocount|pluralize}} found |
56 | {%elif objects.ocount == 0%} | ||
57 | No builds | ||
58 | {%else%} | ||
59 | All builds | ||
60 | {%endif%} | ||
55 | </h1> | 61 | </h1> |
56 | </div> | 62 | </div> |
57 | 63 | ||
58 | {% include "basetable_top.html" %} | 64 | {% if objects.ocount == 0 %} |
65 | <div class="row-fluid"> | ||
66 | <div class="alert"> | ||
67 | <form class="no-results"> | ||
68 | <div class="input-append"> | ||
69 | <input class="input-xxlarge" type="text" placeholder="{{request.GET.search}}" /> | ||
70 | <input class="btn" type="submit" value="Search"/> | ||
71 | <button class="btn btn-link" onclick="javascript:reload_params({'search':'', 'filter':''})">Show all builds</button> | ||
72 | </div> | ||
73 | </form> | ||
74 | </div> | ||
75 | </div> | ||
59 | 76 | ||
60 | <tr> | ||
61 | <th class="outcome span2"> <i class="icon-question-sign get-help" data-toggle="tooltip" title="The outcome tells you if a build completed successfully or failed"></i> <a href="#" style="font-weight:normal;">Outcome</a> <div class="btn-group pull-right"> <a href="#outcome" role="button" class="btn btn-mini" data-toggle="modal"> <i class="icon-filter"></i> </a> </div> </th> | ||
62 | <th class="target"> <i class="icon-question-sign get-help" data-toggle="tooltip" title="This is the build target(s): one or more recipes or image recipes"></i> <a href="#" style="font-weight:normal;">Target</a> </th> | ||
63 | <th class="machine span3"> <i class="icon-question-sign get-help" data-toggle="tooltip" title="The machine is the hardware for which you are building"></i> <a href="#" style="font-weight:normal;">Machine</a> </th> | ||
64 | <th class="started_on"> <i class="icon-question-sign get-help" data-toggle="tooltip" title="The date and time you started the build"></i> <a href="#" style="font-weight:normal;">Started on</a> <div class="btn-group pull-right"> <a href="#started-on" role="button" class="btn btn-mini" data-toggle="modal"> <i class="icon-filter"></i> </a> </div> </th> | ||
65 | <th class="completed_on"> <i class="icon-question-sign get-help" data-toggle="tooltip" title="The date and time the build finished"></i> <a href="#" class="sorted"> Completed on </a> <div class="btn-group pull-right"> <a href="#completed-on" role="button" class="btn btn-mini" data-toggle="modal"> <i class="icon-filter"></i> </a> </div> <i class="icon-caret-down"></i> </th> | ||
66 | <th class="failed_tasks"> <i class="icon-question-sign get-help" data-toggle="tooltip" title="How many tasks failed during the build"></i> <a href="#" style="font-weight:normal;">Failed tasks</a> <div class="btn-group pull-right"> <a href="#failed-tasks" role="button" class="btn btn-mini" data-toggle="modal"> <i class="icon-filter"></i> </a> </div> <!--div id="filtered" class="btn-group pull-right" title="<p>Showing only builds with failed tasks</p><p><a class='btn btn-mini btn-primary' href='#'>Show all builds</a></p>"> <a class="btn btn-mini btn-primary"> <i class="icon-filter"></i> </a> </div--> </th> | ||
67 | <th class="errors"> <i class="icon-question-sign get-help" data-toggle="tooltip" title="How many errors were encountered during the build (if any)"></i> <a href="#" style="font-weight:normal;">Errors</a> <div class="btn-group pull-right"> <a href="#errors" role="button" class="btn btn-mini" data-toggle="modal"> <i class="icon-filter"></i> </a> </div> </th> | ||
68 | <th class="warnings"> <i class="icon-question-sign get-help" data-toggle="tooltip" title="How many warnigns were encountered during the build (if any)"></i> <a href="#" style="font-weight:normal;">Warnings</a> <div class="btn-group pull-right"> <a href="#warnings" role="button" class="btn btn-mini" data-toggle="modal"> <i class="icon-filter"></i> </a> </div> <!--div id="filtered" class="btn-group pull-right" title="<p>Showing only builds without warnings</p><p><a class='btn btn-mini btn-primary' href='#'>Show all builds</a></p>"> <a class="btn btn-mini btn-primary"> <i class="icon-filter"></i> </a> </div--> </th> | ||
69 | <th class="time"> <i class="icon-question-sign get-help" data-toggle="tooltip" title="How long it took the build to finish"></i> <a href="#" style="font-weight:normal;">Time</a> </th> | ||
70 | <th class="log span4"> <i class="icon-question-sign get-help" data-toggle="tooltip" title="The location in disk of the build main log file"></i> <a href="#" style="font-weight:normal;">Log</a> </th> | ||
71 | <th class="output"> <i class="icon-question-sign get-help" data-toggle="tooltip" title="The root file system types produced by the build. You can find them in your <code>/build/tmp/deploy/images/</code> directory"></i> <a href="#" style="font-weight:normal;">Output</a> </th> | ||
72 | 77 | ||
73 | </tr> | 78 | {% else %} |
79 | {% include "basetable_top.html" %} | ||
80 | <!-- Table data rows; the order needs to match the order of "tablecols" definitions; and the <td class value needs to match the tablecols clclass value for show/hide buttons to work --> | ||
74 | {% for build in objects %} | 81 | {% for build in objects %} |
75 | <tr class="data"> | 82 | <tr class="data"> |
76 | <td class="outcome"><a href="{% url "builddashboard" build.id %}">{%if build.outcome == build.SUCCEEDED%}<i class="icon-ok-sign success"></i>{%elif build.outcome == build.FAILED%}<i class="icon-minus-sign error"></i>{%else%}{%endif%}</a></td> | 83 | <td class="outcome"><a href="{% url "builddashboard" build.id %}">{%if build.outcome == build.SUCCEEDED%}<i class="icon-ok-sign success"></i>{%elif build.outcome == build.FAILED%}<i class="icon-minus-sign error"></i>{%else%}{%endif%}</a></td> |
@@ -78,11 +85,11 @@ | |||
78 | <td class="machine"><a href="{% url "builddashboard" build.id %}">{{build.machine}}</a></td> | 85 | <td class="machine"><a href="{% url "builddashboard" build.id %}">{{build.machine}}</a></td> |
79 | <td class="started_on"><a href="{% url "builddashboard" build.id %}">{{build.started_on}}</a></td> | 86 | <td class="started_on"><a href="{% url "builddashboard" build.id %}">{{build.started_on}}</a></td> |
80 | <td class="completed_on"><a href="{% url "builddashboard" build.id %}">{{build.completed_on}}</a></td> | 87 | <td class="completed_on"><a href="{% url "builddashboard" build.id %}">{{build.completed_on}}</a></td> |
81 | <td class="failed_tasks"></td> | 88 | <td class="failed_tasks">{% query build.task_build outcome=4 order__gt=0 as exectask%}{% if exectask.count == 1 %}{{exectask.0.recipe.name}}.{{exectask.0.task_name}}{% elif exectask.count > 1%}{{exectask.count}}{%endif%}</td> |
82 | <td class="errors">{% if build.errors_no %}<a class="error" href="{% url "builddashboard" build.id %}#errors">{{build.errors_no}} error{{build.errors_no|pluralize}}</a>{%endif%}</td> | 89 | <td class="errors_no">{% if build.errors_no %}<a class="errors_no" href="{% url "builddashboard" build.id %}#errors">{{build.errors_no}} error{{build.errors_no|pluralize}}</a>{%endif%}</td> |
83 | <td class="warnings">{% if build.warnings_no %}<a class="warning" href="{% url "builddashboard" build.id %}#warnings">{{build.warnings_no}} warning{{build.warnings_no|pluralize}}</a>{%endif%}</td> | 90 | <td class="warnings_no">{% if build.warnings_no %}<a class="warnings_no" href="{% url "builddashboard" build.id %}#warnings">{{build.warnings_no}} warning{{build.warnings_no|pluralize}}</a>{%endif%}</td> |
84 | <td class="time"><a href="{% url "buildtime" build.id %}">{{build|timespent}}</a></td> | 91 | <td class="time"><a href="{% url "buildtime" build.id %}">{{build|timespent}}</a></td> |
85 | <td class="log">{{build.log}}</td> | 92 | <td class="log">{{build.cooker_log_path}}</td> |
86 | <td class="output">{% if build.outcome == 0 %}{% for t in build.target_set.all %}{% if t.is_image %}<a href="{%url "builddashboard" build.id%}#images">{{build.image_fstypes}}</a>{% endif %}{% endfor %}{% endif %}</td> | 93 | <td class="output">{% if build.outcome == 0 %}{% for t in build.target_set.all %}{% if t.is_image %}<a href="{%url "builddashboard" build.id%}#images">{{build.image_fstypes}}</a>{% endif %}{% endfor %}{% endif %}</td> |
87 | </tr> | 94 | </tr> |
88 | 95 | ||
@@ -91,5 +98,7 @@ | |||
91 | 98 | ||
92 | {% include "basetable_bottom.html" %} | 99 | {% include "basetable_bottom.html" %} |
93 | 100 | ||
94 | </div> | 101 | {% endif %} |
102 | </div><!-- end row-fluid--> | ||
103 | |||
95 | {% endblock %} | 104 | {% endblock %} |