| OLD | NEW |
| 1 {% extends "layout.html" %} | 1 {% extends "layout.html" %} |
| 2 {% import 'forms.html' as forms %} | 2 {% import 'forms.html' as forms %} |
| 3 {% from "change_macros.html" import change with context %} | 3 {% from "change_macros.html" import change with context %} |
| 4 | 4 |
| 5 {% block content %} | 5 {% block content %} |
| 6 | 6 |
| 7 <h1> | 7 <h1> |
| 8 Builder <a href="{{ path_to_builder }}">{{ b.getBuilder().getName() }}</a> | 8 Builder <a href="{{ path_to_builder }}">{{ b.getBuilder().getName() }}</a> |
| 9 Build #{{ b.getNumber() }} | 9 Build #{{ b.getNumber() }} |
| 10 </h1> | 10 </h1> |
| 11 <a href="https://chrome-logs-storage.appspot.com/browser/logs/{{ | 11 <a href="https://chrome-logs-storage.appspot.com/browser/logs/{{ |
| 12 b.getProperty('mastername') }}/{{ b.getBuilder().getName() }}/{{ '%.7d' | 12 b.getProperty('mastername') }}/{{ b.getBuilder().getName() }}/{{ '%.7d' |
| 13 % b.getNumber() }}/" title="List of log files cached on Google Cloud | 13 % b.getNumber() }}/" title="List of log files cached on Google Cloud |
| 14 Storage" class="BuildHeader">Cached logs</a> | 14 Storage" class="BuildHeader">Cached logs</a> |
| 15 | 15 |
| 16 <div class="column"> | 16 <div class="column"> |
| 17 | 17 |
| 18 {% if not b.isFinished() %} | 18 {% if not b.isFinished() %} |
| 19 <h2>Build In Progress:</h2> | 19 <h2>Build In Progress:</h2> |
| 20 | 20 |
| 21 {% if when_time %} | 21 {% if when_time %} |
| 22 <p>ETA: {{ when_time }} [{{ when }}]</p> | 22 <p>ETA: {{ when_time }} [{{ when }}]</p> |
| 23 {% endif %} | 23 {% endif %} |
| 24 | 24 |
| 25 {{ current_step }} | 25 {{ current_step }} |
| 26 | 26 |
| 27 {% if authz.advertiseAction('stopBuild') %} | 27 {% if authz.advertiseAction('stopBuild') %} |
| 28 <h2>Stop Build</h2> | 28 <h2>Stop Build</h2> |
| 29 {{ forms.stop_build(build_url+"/stop", authz, on_all=False, short=False, lab
el='This Build') }} | 29 {{ forms.stop_build(build_url+"/stop", authz, on_all=False, short=False, lab
el='This Build') }} |
| 30 {% endif %} | 30 {% endif %} |
| 31 {% else %} | 31 {% else %} |
| 32 <h2>Results:</h2> | 32 <h2>Results:</h2> |
| 33 | 33 |
| 34 <p class="{{ result_css }} result"> | 34 <p class="{{ result_css }} result"> |
| 35 {{ b.getText()|join(' ')|capitalize }} | 35 {{ b.getText()|join(' ')|capitalize }} |
| 36 </p> | 36 </p> |
| 37 | 37 |
| 38 {% if b.getTestResults() %} | 38 {% if b.getTestResults() %} |
| 39 <h3><a href="{{ tests_link }}"/></h3> | 39 <h3><a href="{{ tests_link }}"/></h3> |
| 40 {% endif %} | 40 {% endif %} |
| 41 {% endif %} | 41 {% endif %} |
| 42 | 42 |
| 43 <h2>SourceStamp:</h2> | 43 <h2>SourceStamp:</h2> |
| 44 | 44 |
| 45 <table class="info" width="100%"> | 45 <table class="info" width="100%"> |
| 46 {% set ss_class = cycler('alt','') %} | 46 {% set ss_class = cycler('alt','') %} |
| 47 | 47 |
| (...skipping 28 matching lines...) Expand all Loading... |
| 76 {% if most_recent_rev_build %} | 76 {% if most_recent_rev_build %} |
| 77 <tr class="{{ ss_class.next() }}"><td class="left" colspan="2">Build of most r
ecent revision</td></tr> | 77 <tr class="{{ ss_class.next() }}"><td class="left" colspan="2">Build of most r
ecent revision</td></tr> |
| 78 {% endif %} | 78 {% endif %} |
| 79 | 79 |
| 80 </table> | 80 </table> |
| 81 | 81 |
| 82 {# | 82 {# |
| 83 # TODO: turn this into a table, or some other sort of definition-list | 83 # TODO: turn this into a table, or some other sort of definition-list |
| 84 # that doesn't take up quite so much vertical space | 84 # that doesn't take up quite so much vertical space |
| 85 #} | 85 #} |
| 86 | 86 |
| 87 <h2>BuildSlave:</h2> | 87 <h2>BuildSlave:</h2> |
| 88 | 88 |
| 89 {% if slave_url %} | 89 {% if slave_url %} |
| 90 <a href="{{ slave_url|e }}">{{ b.getSlavename()|e }}</a> | 90 <a href="{{ slave_url|e }}">{{ b.getSlavename()|e }}</a> |
| 91 {% else %} | 91 {% else %} |
| 92 {{ b.getSlavename()|e }} | 92 {{ b.getSlavename()|e }} |
| 93 {% endif %} | 93 {% endif %} |
| 94 | 94 |
| 95 <h2>Reason:</h2> | 95 <h2>Reason:</h2> |
| 96 <p> | 96 <p> |
| 97 {{ b.getReason()|e }} | 97 {{ b.getReason()|e }} |
| 98 </p> | 98 </p> |
| 99 | 99 |
| 100 <h2>Steps and Logfiles:</h2> | 100 <h2>Steps and Logfiles:</h2> |
| 101 | 101 |
| 102 {# | 102 {# |
| (...skipping 27 matching lines...) Expand all Loading... |
| 130 </li><li> | 130 </li><li> |
| 131 {% elif step_nest < nest_level %} | 131 {% elif step_nest < nest_level %} |
| 132 {% for _ in range(step_nest, nest_level) %} | 132 {% for _ in range(step_nest, nest_level) %} |
| 133 </li></ol></details> | 133 </li></ol></details> |
| 134 {% endfor %} | 134 {% endfor %} |
| 135 <li> | 135 <li> |
| 136 {% endif %} | 136 {% endif %} |
| 137 {% set nest_level = step_nest %} | 137 {% set nest_level = step_nest %} |
| 138 | 138 |
| 139 <div class="{{ s.css_class }} result"> | 139 <div class="{{ s.css_class }} result"> |
| 140 <a href="{{ s.link }}">{{ s.name }}</a> | 140 <a href="{{ s.link }}">{{ s.name }}</a> |
| 141 {% set previous_name = s.name %} | 141 {% set previous_name = s.name %} |
| 142 {{ s.text }} <span style="float:right">{{ '( ' + s.time_to_run + ' )'
if s.time_to_run else '' }}</span> | 142 {{ s.text }} <span style="float:right">{{ '( ' + s.time_to_run + ' )'
if s.time_to_run else '' }}</span> |
| 143 </div> | 143 </div> |
| 144 | 144 |
| 145 <ul> | 145 <ul> |
| 146 {% set item_class = cycler('alt', '') %} | 146 {% set item_class = cycler('alt', '') %} |
| 147 {% for l in s.logs %} | 147 {% for l in s.logs %} |
| 148 <li class="{{ item_class.next() }}"><a href="{{ l.link }}">{{ l.name }}<
/a> | 148 <li class="{{ item_class.next() }}"><a href="{{ l.link }}">{{ l.name }}<
/a> |
| 149 <a href="https://storage.cloud.google.com/chrome-build-logs-private/lo
gs/{{ | 149 <a href="https://storage.cloud.google.com/chrome-build-logs-private/lo
gs/{{ |
| 150 b.getProperty('mastername') }}/{{ b.getBuilder().getName() | 150 b.getProperty('mastername') }}/{{ b.getBuilder().getName() |
| 151 }}/{{ '%.7d' % b.getNumber() }}/{{ s.name|replace('/', '_') }
}.{{ | 151 }}/{{ '%.7d' % b.getNumber() }}/{{ s.name|replace('/', '_') }
}.{{ |
| 152 l.name|replace('/', '_') }}" | 152 l.name|replace('/', '_') }}" |
| 153 title="Raw log stored on Google Cloud Storage (available after up t
o 5 min after end of build)">cache</a> | 153 title="Raw log stored on Google Cloud Storage (available after up t
o 5 min after end of build)">cache</a> |
| 154 </li> | 154 </li> |
| 155 {% else %} | 155 {% else %} |
| 156 <li class="{{ item_class.next() }}">- no logs -</li> | 156 <li class="{{ item_class.next() }}">- no logs -</li> |
| 157 {% endfor %} | 157 {% endfor %} |
| 158 | 158 |
| 159 {% for u in s.urls %} | 159 {% for u in s.urls %} |
| 160 <li class="{{ item_class.next() }}"><a href="{{ u.url }}">{{ u.logname }
}</a></li> | 160 <li class="{{ item_class.next() }}"><a href="{{ u.url }}">{{ u.logname }
}</a></li> |
| 161 {% endfor %} | 161 {% endfor %} |
| 162 </ul> | 162 </ul> |
| 163 </li> | 163 </li> |
| 164 {% endfor %} | 164 {% endfor %} |
| 165 | 165 |
| 166 {# Close out all open indentation sections. #} | 166 {# Close out all open indentation sections. #} |
| 167 {% for _ in range(-1, nest_level) %} | 167 {% for _ in range(-1, nest_level) %} |
| 168 </li></ol> | 168 </li></ol> |
| 169 {% endfor %} | 169 {% endfor %} |
| 170 | 170 |
| 171 </div> | 171 </div> |
| 172 <div class="column"> | 172 <div class="column"> |
| 173 | 173 |
| 174 <h2>Build Properties:</h2> | 174 <h2>Build Properties:</h2> |
| 175 | 175 |
| 176 <table class="info BuildProperties" width="100%"> | 176 <table class="info BuildProperties" width="100%"> |
| 177 <tr><th>Name</th><th>Value</th><th>Source</th></tr> | 177 <tr><th>Name</th><th>Value</th><th>Source</th></tr> |
| 178 | 178 |
| 179 {% set rietveld_url = [] %} |
| 180 {% for p in properties %} |
| 181 {% if p.name == 'rietveld' and rietveld_url.append(p.value) %} |
| 182 {% endif %} |
| 183 {% endfor %} |
| 184 |
| 179 {% for p in properties %} | 185 {% for p in properties %} |
| 180 <tr class="{{ loop.cycle('alt', '') }}"> | 186 <tr class="{{ loop.cycle('alt', '') }}"> |
| 181 <td class="left">{{ p.name|e }}</td> | 187 <td class="left">{{ p.name|e }}</td> |
| 182 <td class="middle"><abbr title=" | 188 <td class="middle"><abbr title=" |
| 183 {% if p.short_value %} | 189 {% if p.short_value %} |
| 184 {{ p.short_value|e }} .. [property value too long] | 190 {{ p.short_value|e }} .. [property value too long] |
| 185 {% else %} | 191 {% else %} |
| 186 {{ p.value|e }} | 192 {{ p.value|e }} |
| 187 {% endif %}"> | 193 {% endif %}"> |
| 188 {% if p.short_value %} | 194 {% if p.short_value %} |
| 189 {{ p.short_value|e }} .. [property value too long] | 195 {{ p.short_value|e }} .. [property value too long] |
| 196 {% elif p.name == 'issue' and rietveld_url %} |
| 197 <a style="color: red" href="{{ (rietveld_url[0] + '/' + p.value)|e }} ">{{
p.value|e }}</a> |
| 190 {% else %} | 198 {% else %} |
| 191 {{ p.value|e }} | 199 {{ p.value|e }} |
| 192 {% endif %} | 200 {% endif %} |
| 193 </abbr></td> | 201 </abbr></td> |
| 194 <td>{{ p.source|e }}</td> | 202 <td>{{ p.source|e }}</td> |
| 195 </tr> | 203 </tr> |
| 196 {% endfor %} | 204 {% endfor %} |
| 197 | 205 |
| 198 </table> | 206 </table> |
| 199 | 207 |
| (...skipping 20 matching lines...) Expand all Loading... |
| 220 </table> | 228 </table> |
| 221 | 229 |
| 222 {% if authz.advertiseAction('forceBuild') %} | 230 {% if authz.advertiseAction('forceBuild') %} |
| 223 <h3>Resubmit Build:</h3> | 231 <h3>Resubmit Build:</h3> |
| 224 {{ forms.rebuild_build(build_url+"/rebuild", authz, exactly, ss) }} | 232 {{ forms.rebuild_build(build_url+"/rebuild", authz, exactly, ss) }} |
| 225 {% endif %} | 233 {% endif %} |
| 226 | 234 |
| 227 </div> | 235 </div> |
| 228 | 236 |
| 229 <br style="clear:both"/> | 237 <br style="clear:both"/> |
| 230 | 238 |
| 231 {% if ss.changes %} | 239 {% if ss.changes %} |
| 232 <div class="column"> | 240 <div class="column"> |
| 233 <h2>All Changes:</h2> | 241 <h2>All Changes:</h2> |
| 234 <ol> | 242 <ol> |
| 235 {% for c in ss.changes %} | 243 {% for c in ss.changes %} |
| 236 <li><h3>Change #{{ c.number }}</h3> | 244 <li><h3>Change #{{ c.number }}</h3> |
| 237 {{ change(c.asDict()) }} | 245 {{ change(c.asDict()) }} |
| 238 </li> | 246 </li> |
| 239 {% else %} | 247 {% else %} |
| 240 <li>no changes</li> | 248 <li>no changes</li> |
| 241 {% endfor %} | 249 {% endfor %} |
| 242 </ol> | 250 </ol> |
| 243 </div> | 251 </div> |
| 244 {% endif %} | 252 {% endif %} |
| 245 | 253 |
| 246 {% endblock %} | 254 {% endblock %} |
| OLD | NEW |