Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(692)

Side by Side Diff: masters/master.tryserver.chromium.linux/templates/build.html

Issue 1476173002: buildbot UI: add linkification of Rietveld issue URL to build page. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/build
Patch Set: thanks,sergiyb@ Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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 }}&nbsp;<span style="float:right">{{ '( ' + s.time_to_run + ' )' if s.time_to_run else '' }}</span> 142 {{ s.text }}&nbsp;<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
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 %}
OLDNEW
« no previous file with comments | « masters/master.chromium/templates/build.html ('k') | masters/master.tryserver.infra/builders.pyl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698