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