Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 1 | {% load static %} |
| 2 | {% load projecttags %} |
Patrick Williams | f1e5d69 | 2016-03-30 15:21:19 -0500 | [diff] [blame] | 3 | {% load project_url_tag %} |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 4 | {% load humanize %} |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 5 | <script src="{% static 'js/mrbsection.js' %}"></script> |
| 6 | <script> |
| 7 | $(document).ready(function () { |
| 8 | var ctx = { |
| 9 | mrbType : "{{mrb_type}}", |
| 10 | } |
| 11 | |
| 12 | try { |
| 13 | mrbSectionInit(ctx); |
| 14 | } catch (e) { |
| 15 | document.write("Sorry, An error has occurred loading this page"); |
| 16 | console.warn(e); |
| 17 | } |
| 18 | }); |
| 19 | </script> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 20 | |
Patrick Williams | f1e5d69 | 2016-03-30 15:21:19 -0500 | [diff] [blame] | 21 | {%if mru and mru.count > 0%} |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 22 | |
Patrick Williams | f1e5d69 | 2016-03-30 15:21:19 -0500 | [diff] [blame] | 23 | {%if mrb_type == 'project' %} |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 24 | <h2 class="page-header"> |
Patrick Williams | f1e5d69 | 2016-03-30 15:21:19 -0500 | [diff] [blame] | 25 | Latest project builds |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 26 | |
Patrick Williams | f1e5d69 | 2016-03-30 15:21:19 -0500 | [diff] [blame] | 27 | {% if project.is_default %} |
| 28 | <i class="icon-question-sign get-help heading-help" title="" data-original-title="Builds in this project cannot be started from Toaster: they are started from the command line"></i> |
| 29 | {% endif %} |
| 30 | </h2> |
| 31 | {% else %} |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 32 | <div class="page-header top-air"> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 33 | <h1> |
Patrick Williams | f1e5d69 | 2016-03-30 15:21:19 -0500 | [diff] [blame] | 34 | Latest builds |
| 35 | </h1> |
| 36 | </div> |
| 37 | {% endif %} |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 38 | <div id="latest-builds"> |
| 39 | {% for build in mru %} |
Patrick Williams | f1e5d69 | 2016-03-30 15:21:19 -0500 | [diff] [blame] | 40 | <div data-latest-build-result="{{ build.id }}" class="alert build-result {%if build.outcome == build.SUCCEEDED%}alert-success{%elif build.outcome == build.FAILED%}alert-error{%else%}alert-info{%endif%}{% if mrb_type != 'project' %} project-name{% endif %}"> |
| 41 | {% if mrb_type != 'project' %} |
| 42 | <span class="label {%if build.outcome == build.SUCCEEDED%}label-success{%elif build.outcome == build.FAILED%}label-important{%else%}label-info{%endif%}"> |
| 43 | <a href={% project_url build.project %}> |
| 44 | {{build.project.name}} |
| 45 | </a> |
| 46 | </span> |
| 47 | {% endif %} |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 48 | <div class="row-fluid"> |
Patrick Williams | f1e5d69 | 2016-03-30 15:21:19 -0500 | [diff] [blame] | 49 | <div class="span3 lead"> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 50 | {%if build.outcome == build.SUCCEEDED or build.outcome == build.FAILED %} |
Patrick Williams | f1e5d69 | 2016-03-30 15:21:19 -0500 | [diff] [blame] | 51 | <a href="{%url 'builddashboard' build.pk%}" class="{%if build.outcome == build.SUCCEEDED %}success{%else%}error{%endif%}"> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 52 | {% endif %} |
| 53 | {% if build.target_set.all.count > 0 %} |
| 54 | <span data-toggle="tooltip" |
Patrick Williams | f1e5d69 | 2016-03-30 15:21:19 -0500 | [diff] [blame] | 55 | {% if build.target_set.all.count > 1 %} |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 56 | {{build.get_sorted_target_list.0.target}} |
| 57 | title="Recipes: |
| 58 | {% for target in build.get_sorted_target_list %} |
Patrick Williams | f1e5d69 | 2016-03-30 15:21:19 -0500 | [diff] [blame] | 59 | {% if target.task %} |
| 60 | {{target.target}}:{{target.task}} |
| 61 | {% else %} |
| 62 | {{target.target}} |
| 63 | {% endif %} |
| 64 | {% endfor %}" |
| 65 | {% endif %} |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 66 | > |
Patrick Williams | f1e5d69 | 2016-03-30 15:21:19 -0500 | [diff] [blame] | 67 | {% if build.target_set.all.0.task %} |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 68 | {{build.get_sorted_target_list.0.target}}:{{build.target_set.all.0.task}} |
Patrick Williams | f1e5d69 | 2016-03-30 15:21:19 -0500 | [diff] [blame] | 69 | {% else %} |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 70 | {{build.get_sorted_target_list.0.target}} |
Patrick Williams | f1e5d69 | 2016-03-30 15:21:19 -0500 | [diff] [blame] | 71 | {% endif %} |
| 72 | {% if build.target_set.all.count > 1 %} |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 73 | (+{{build.target_set.all.count|add:"-1"}}) |
Patrick Williams | f1e5d69 | 2016-03-30 15:21:19 -0500 | [diff] [blame] | 74 | {% endif %} |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 75 | </span> |
| 76 | {% endif %} |
| 77 | {%if build.outcome == build.SUCCEEDED or build.outcome == build.FAILED %} |
| 78 | </a> |
| 79 | {% endif %} |
| 80 | </div> |
Patrick Williams | f1e5d69 | 2016-03-30 15:21:19 -0500 | [diff] [blame] | 81 | {% if build.outcome == build.SUCCEEDED or build.outcome == build.FAILED %} |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 82 | <div class="span2 lead"> |
| 83 | {% if build.completed_on|format_build_date %} |
| 84 | {{ build.completed_on|date:'d/m/y H:i' }} |
| 85 | {% else %} |
| 86 | {{ build.completed_on|date:'H:i' }} |
| 87 | {% endif %} |
| 88 | </div> |
Patrick Williams | f1e5d69 | 2016-03-30 15:21:19 -0500 | [diff] [blame] | 89 | {% endif %} |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 90 | {%if build.outcome == build.SUCCEEDED or build.outcome == build.FAILED %} |
| 91 | <div class="span2 lead"> |
| 92 | {% if build.errors.count %} |
| 93 | <i class="icon-minus-sign red"></i> <a href="{%url 'builddashboard' build.pk%}#errors" class="error">{{build.errors.count}} error{{build.errors.count|pluralize}}</a> |
| 94 | {% endif %} |
| 95 | </div> |
| 96 | <div class="span2 lead"> |
| 97 | {% if build.warnings.count %} |
| 98 | <i class="icon-warning-sign yellow"></i> <a href="{%url 'builddashboard' build.pk%}#warnings" class="warning">{{build.warnings.count}} warning{{build.warnings.count|pluralize}}</a> |
| 99 | {% endif %} |
| 100 | </div> |
| 101 | <div class="lead "> |
| 102 | <span class="lead"> |
Patrick Williams | f1e5d69 | 2016-03-30 15:21:19 -0500 | [diff] [blame] | 103 | Build time: <a href="{% url 'buildtime' build.pk %}">{{ build.timespent_seconds|sectohms }}</a> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 104 | </span> |
Patrick Williams | f1e5d69 | 2016-03-30 15:21:19 -0500 | [diff] [blame] | 105 | {% if build.project.is_default %} |
| 106 | <i class="pull-right icon-question-sign get-help |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 107 | {% if build.outcome == build.SUCCEEDED %} |
Patrick Williams | f1e5d69 | 2016-03-30 15:21:19 -0500 | [diff] [blame] | 108 | get-help-green |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 109 | {% elif build.outcome == build.FAILED %} |
Patrick Williams | f1e5d69 | 2016-03-30 15:21:19 -0500 | [diff] [blame] | 110 | get-help-red |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 111 | {% else %} |
Patrick Williams | f1e5d69 | 2016-03-30 15:21:19 -0500 | [diff] [blame] | 112 | get-help-blue |
| 113 | {% endif %} |
| 114 | " title="Builds in this project cannot be started from Toaster: they are started from the command line"> |
| 115 | </i> |
| 116 | {% else %} |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 117 | <button class="run-again-btn btn |
Patrick Williams | f1e5d69 | 2016-03-30 15:21:19 -0500 | [diff] [blame] | 118 | {% if build.outcome == build.SUCCEEDED %} |
| 119 | btn-success |
| 120 | {% elif build.outcome == build.FAILED %} |
| 121 | btn-danger |
| 122 | {% else %} |
| 123 | btn-info |
| 124 | {%endif%} |
| 125 | pull-right" |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 126 | data-request-url="{% url 'xhr_buildrequest' build.project.pk %}" |
| 127 | data-target='{{build.target_set.all|get_tasks|json}}'> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 128 | |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 129 | |
| 130 | Rebuild |
Patrick Williams | f1e5d69 | 2016-03-30 15:21:19 -0500 | [diff] [blame] | 131 | </button> |
| 132 | {% endif %} |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 133 | </div> |
| 134 | {%endif%} |
| 135 | {%if build.outcome == build.IN_PROGRESS %} |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 136 | <div class="span4" style="display:none" id="cancelling-msg-{{build.buildrequest.pk}}"> |
| 137 | <p class="lead">Cancelling the build ...</p> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 138 | </div> |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 139 | <div class="span4 offset1 progress-info"> |
| 140 | <div class="progress" id="build-pc-done-title-{{build.pk}}" style="margin-top:5px;" data-toggle="tooltip" title="{{build.completeper}}% of tasks complete"> |
| 141 | <div id="build-pc-done-bar-{{build.pk}}" style="width: {{build.completeper}}%;" class="bar"></div> |
| 142 | </div> |
| 143 | </div> |
| 144 | <div class="lead span3 progress-info"><span id="build-pc-done-{{build.pk}}">{{build.completeper}}</span>% of tasks complete</div> |
| 145 | {# No build cancel for command line builds project #} |
| 146 | {% if build.project.is_default %} |
| 147 | <i class="icon-question-sign get-help get-help-blue pull-right" title="" data-original-title="Builds in this project cannot be cancelled from Toaster: they can only be cancalled from the command line"></i> |
| 148 | {% else %} |
| 149 | <div class="lead pull-right progress-info"> |
| 150 | <button class="cancel-build-btn btn btn-info pull-right" |
| 151 | data-buildrequest-id={{build.buildrequest.pk}} |
| 152 | data-request-url="{% url 'xhr_buildrequest' build.project.pk %}" > |
| 153 | Cancel |
| 154 | </button> |
| 155 | </div> |
| 156 | {% endif %} |
| 157 | |
| 158 | {%endif%} {# end if in progress #} |
| 159 | |
| 160 | {% if build.outcome == build.CANCELLED %} |
| 161 | <div class="span4"> |
| 162 | <p class="lead">Build cancelled</p> |
| 163 | </div> |
| 164 | <button class="btn btn-info pull-right run-again-btn" |
| 165 | data-request-url="{% url 'xhr_buildrequest' build.project.pk %}" |
| 166 | data-target='{{build.target_set.all|get_tasks|json}}'> |
| 167 | Rebuild |
| 168 | |
| 169 | </button> |
| 170 | {% endif %} |
| 171 | </div> |
| 172 | </div> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 173 | |
| 174 | {% endfor %} |
| 175 | </div> |
| 176 | |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 177 | {%endif%} |
| 178 | |