+[%#
+
+Copyright (c) 2003-2010, Andrew Dunstan
+
+See accompanying License file for license details
+
+-%]
[%
flag_imgs = {
- perl = '/img/camel.png',
- python = '/img/python.png',
- debug = '/img/bug.png',
- pam => '/img/pam.png',
- cassert => '/img/cassert.png',
+ arc => '/img/arc.bmp',
+ dane => '/img/helmet.png',
+ doc => '/img/doc.png',
+ gnutls => '/img/gnutls_icon.gif',
+ ipv6 => '/img/6.png',
+ ldap => '/img/openldap_logo.jpg',
+ mysql => '/img/mysql_logo.png',
openssl => '/img/ssl_icon.gif',
- nls => '/img/translateicon.gif',
- krb5 => '/img/krb.gif',
- tcl => '/img/tcl.png',
- vpath => '/img/vpath.png',
- xml => '/img/xml.png',
- 'thread-safety' => '/img/threads.gif',
- 'integer-datetimes' = '/img/days.png',
- git => '/img/git.png',
+ perl = '/img/camel.png',
+ pgsql => '/img/postgresql-icon-32.png',
+ spf => '/img/spf.png',
+ #test => '/img/hammer.jpeg',
+ #python => '/img/python.png',
+ #debug => '/img/bug.png',
+ #pam => '/img/pam.png',
+ #cassert => '/img/cassert.png',
+ #nls => '/img/translateicon.gif',
+ #krb5 => '/img/krb.gif',
+ #gssapi => '/img/gssapi.gif',
+ #tcl => '/img/tcl.png',
+ #vpath => '/img/vpath.png',
+ #xml => '/img/xml.png',
+ #'thread-safety' => '/img/threads.gif',
+ #'integer-datetimes' => '/img/days.png',
+ }
+-%]
+[%
+ res_imgs = {
+ P = '/img/t_good.gif',
+ F => '/img/t_fail.gif',
+ '.' => '/img/t_notdone.gif',
}
-%]
-[%- BLOCK img ; IF flag == 'depend' or flag == 'gnu-ld' ; ; ELSIF flag_imgs.$flag %]<img src="[% flag_imgs.$flag %]" title="[% flag %]" alt="[% flag %]" height="16" width="16" class="inline" align="bottom" /> [% ELSE %][%#
+[%- BLOCK img ; IF flag == 'depend' or flag == 'gnu-ld' ; ; ELSIF flag_imgs.$flag %]<img src=[% flag_imgs.$flag %] title="[% flag %]" alt="[% flag %]" height=16 width=16 class=inline align=bottom/> [% ELSE %][%#
flag ; ' '
%][% END ; END -%]
-[%- BLOCK sysnotes ; IF row.sys_notes %]<img src="/img/notes.png" height="16" width="16" title="[% row.sys_notes_ts.replace(' .*','') | html %]: [% row.sys_notes | html %]" />
+[%- BLOCK sysnotes ; IF row.sys_notes %]<img src=/img/notes.png height=16 width=16 title="[% row.sys_notes_ts.replace(' .*','') | html %]: [% row.sys_notes | html %]"/>
[%- ELSE %] [% END ; END -%]
[%- BLOCK cl %] class="[% SWITCH bgfor.replace('-.*','') -%]
[%- CASE 'OK' %]pass[% CASE 'ContribCheck' %]warn[% CASE [ 'Check' 'InstallCheck' ] %]warnx[% CASE %]fail[% END %]"
[%- END -%]
+[%# The IF-backstop is ugly and I'm not understanding why the res_img lookup does not for for '.' -%]
+[%- BLOCK colour ; IF res_imgs.$c.defined ; res_imgs.$c ; ELSE %]/img/t_notdone.gif [% END; END %]
+[%- BLOCK colourbar %]<img src=[% PROCESS colour %] title="[% st %]-[% st + w - 1 %]" height=16 width=[% w %] class=inline align=bottom/>[%- END -%]
[% WRAPPER 'page.tt'
- title = 'PostgreSQL BuildFarm Status'
+ title = 'Exim BuildFarm Status'
bodyclass = 'none'
pagebutton = 'status'
%]
- <h1>PostgreSQL BuildFarm Status</h1>
+ <h1>Exim BuildFarm Status</h1>
<p>
Shown here is the latest status of each farm member
for each branch it has reported on in the last 30 days.
</p>
<table><tr><th class="head" rowspan="2">Legend</th>
[% FOREACH flagset IN flag_imgs %]
-<td><img src="[% flagset.value %]" title="[% flagset.key %]" alt="[% flagset.key %]" height="16" width="16" class="inline" align="center"/> = [% flagset.key %]</td>
+<td><img src=[% flagset.value %] title="[% flagset.key %]" alt="[% flagset.key %]" height=16 width=16 class=inline align=center/> = [% flagset.key %]</td>
[% IF loop.count == 7 %]</tr><tr>[% END %]
[% END %]
</tr></table>
[% brch = "" %]
[% FOREACH row IN statrows %]
[% IF row.branch != brch ; brch = row.branch %]
-<tr><th class="head" colspan="5">Branch: [% brch %]</th></tr>
-<tr><th>Alias</th><th colspan="2">System</th><th>Status</th><th>Flags</th></tr>
+<tr><th class="head" colspan="6">Branch: [% brch %]</th></tr>
+<tr><th colspan="2">Alias</th><th>System</th><th>Status</th><th>Flags</th><th>Detail</th></tr>
[% END %]
<tr [% PROCESS cl bgfor=row.stage %]>
<td><a
- href="show_history.pl?nm=[% row.sysname %]&br=[% row.branch %]"
+ href="show_history.pl?nm=[% row.sysname %]&br=[% row.branch | uri %]"
title="History"
>[% row.sysname %]</a></td>
<td>[% PROCESS sysnotes %]</td>
<td class="status">
[%- row.when_ago | replace('\s',' ') %] ago
[% row.stage -%]
+ [[% row.git_head_ref.substr(0,7) %]]
<a href="show_log.pl?nm=
[%- row.sysname %]&dt=
[%- row.snapshot | uri %]">
[%- IF row.stage != 'OK' %]Details[% ELSE %]Config[% END -%]</a></td>
- <td class="flags">[% FOREACH flag IN row.build_flags.split().sort() ; PROCESS img ; END %]</td>
+ <td class="flags">[% FOREACH flag IN row.build_flags.split().unique().sort() ; PROCESS img ; END %]</td>
+ <td class="tests">[% FOREACH range IN row.log_text ;
+ r = range.split(' '); c = r.0; st = r.1; w = r.2; PROCESS colourbar; END %]</td>
</tr>
[% END %]
</table>