OLD | NEW |
| (Empty) |
1 {% from 'build_line.html' import build_table %} | |
2 {% import 'forms.html' as forms %} | |
3 | |
4 {% extends "layout.html" %} | |
5 {%- block header %} | |
6 <a href="http://www.chromium.org">Chromium</a><br/> | |
7 {% endblock header -%} | |
8 {% block content %} | |
9 | |
10 <h1><a href="{{ path_to_root }}waterfall?show={{ name }}">Builder: {{ name }}</a
> | |
11 <a href="{{ path_to_root }}stats/{{ name }}"> (stats) </a></h1> | |
12 | |
13 <div class="column"> | |
14 | |
15 {% if current %} | |
16 <h2>Currently Building:</h2> | |
17 <ul> | |
18 {% for b in current %} | |
19 <li><a href="{{ b.link }}">{{ b.num }}</a> | |
20 {% if b.when %} | |
21 ETA: {{ b.when_time }} [{{ b.when }}] | |
22 {% endif %} | |
23 {% if b.delay %} | |
24 [Running for: {{ b.delay }}] | |
25 {% endif %} | |
26 | |
27 {{ b.current_step }} | |
28 | |
29 {% if authz.advertiseAction('stopBuild') %} | |
30 {{ forms.stop_build(b.stop_url, authz, on_all=False, short=True, label='Bu
ild') }} | |
31 {% endif %} | |
32 </li> | |
33 {% endfor %} | |
34 </ul> | |
35 {% else %} | |
36 <h2>No current builds</h2> | |
37 {% endif %} | |
38 | |
39 {% if pending %} | |
40 <h2>Pending Build Requests:</h2> | |
41 <ul> | |
42 {% for b in pending %} | |
43 <li><small>({{ b.when }}, waiting {{ b.delay }})</small> | |
44 | |
45 {% if authz.advertiseAction('cancelPendingBuild') %} | |
46 {{ forms.cancel_pending_build(builder_url+"/cancelbuild", authz, short=Tru
e, id=b.id) }} | |
47 {% endif %} | |
48 | |
49 {% if b.num_changes < 4 %} | |
50 {% for c in b.changes %}{{ c.revision|longrev(c.repo) }} | |
51 (<a href="{{ c.url }}">{{ c.who }}</a>){% if not loop.last %},{% endif %
} | |
52 {% endfor %} | |
53 {% else %} | |
54 ({{ b.num_changes }} changes) | |
55 {% endif %} | |
56 | |
57 </li> | |
58 {% endfor %} | |
59 </ul> | |
60 | |
61 {% else %} | |
62 <h2>No Pending Build Requests</h2> | |
63 {% endif %} | |
64 | |
65 <h2>Recent Builds:</h2> | |
66 | |
67 {{ build_table(recent) }} | |
68 ( Show: <a href="{{ builder_url }}">default</a> | |
69 {% for count in [25, 50, 100, 200] %} | |
70 <a href="{{ builder_url }}?numbuilds={{ count }}">{{ count }}</a> | |
71 {% endfor %}) | |
72 | |
73 </div> | |
74 <div class="column"> | |
75 | |
76 <h2>Buildslaves:</h2> | |
77 <table class="info"> | |
78 {% if slaves %} | |
79 <tr> | |
80 <th>Name</th> | |
81 <th>Status</th> | |
82 <th>Admin</th> | |
83 </tr> | |
84 {% endif %} | |
85 {% for s in slaves %} | |
86 <tr class="{{ loop.cycle('alt', '') }}"> | |
87 <td class="slavename"><b><a href="{{ s.link|e }}">{{ s.name|e }}</a></b></td> | |
88 {% if s.connected %} | |
89 <td class="success">connected</td> | |
90 <td class="admin">{{ s.admin|email if s.admin else ""}}</td> | |
91 {% else %} | |
92 <td class="offline">offline</td> | |
93 <td/> | |
94 {% endif %} | |
95 </tr> | |
96 {% else %} | |
97 <td>no slaves attached</td> | |
98 {% endfor %} | |
99 </table> | |
100 | |
101 {% if authz.advertiseAction('pingBuilder') %} | |
102 <h2>Ping slaves</h2> | |
103 {{ forms.ping_builder(builder_url+"/ping", authz) }} | |
104 {% endif %} | |
105 | |
106 {% if authz.advertiseAction('forceBuild') %} | |
107 <h2>Force build</h2> | |
108 {{ forms.force_build(builder_url+"/force", authz, False) }} | |
109 {% endif %} | |
110 | |
111 </div> | |
112 | |
113 {% endblock %} | |
OLD | NEW |