Add 4.97+security
[buildfarm-server.git] / templates / status.tt
1 [%#
2
3 Copyright (c) 2003-2010, Andrew Dunstan
4
5 See accompanying License file for license details
6
7 -%]
8 [%
9  flag_imgs = {
10      arc =>     '/img/arc.bmp',
11      dane =>    '/img/helmet.png',
12      doc =>     '/img/doc.png',
13      gnutls =>  '/img/gnutls_icon.gif',
14      ipv6 =>    '/img/6.png',
15      ldap =>    '/img/openldap_logo.jpg',
16      mysql =>   '/img/mysql_logo.png',
17      openssl => '/img/ssl_icon.gif',
18      perl =     '/img/camel.png',
19      pgsql =>   '/img/postgresql-icon-32.png',
20      spf =>   '/img/spf.png',
21      #test => '/img/hammer.jpeg',
22      #python => '/img/python.png',
23      #debug => '/img/bug.png',
24      #pam => '/img/pam.png',
25      #cassert => '/img/cassert.png',
26      #nls => '/img/translateicon.gif',
27      #krb5 => '/img/krb.gif',
28      #gssapi => '/img/gssapi.gif',
29      #tcl => '/img/tcl.png',
30      #vpath => '/img/vpath.png',
31      #xml => '/img/xml.png',
32      #'thread-safety' => '/img/threads.gif',
33      #'integer-datetimes' => '/img/days.png',
34      }
35 -%]
36 [%
37  res_imgs = {
38      P = '/img/t_good.gif',
39      F => '/img/t_fail.gif',
40      '.' => '/img/t_notdone.gif',
41      }
42 -%]
43 [%- 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 %][%#
44                                                                                                                                                                                                           flag ; ' '
45 %][% END ; END -%]
46 [%- 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 %]"/>
47 [%- ELSE %]&nbsp;[% END ; END -%]
48 [%- BLOCK cl %] class="[% SWITCH bgfor.replace('-.*','') -%]
49   [%- CASE 'OK' %]pass[% CASE 'ContribCheck' %]warn[% CASE [ 'Check' 'InstallCheck' ] %]warnx[% CASE %]fail[% END %]"
50 [%- END -%]
51 [%# The IF-backstop is ugly and I'm not understanding why the res_img lookup does not for for '.' -%]
52 [%- BLOCK colour ; IF res_imgs.$c.defined ; res_imgs.$c ; ELSE %]/img/t_notdone.gif [% END; END %]
53 [%- BLOCK colourbar %]<img src=[% PROCESS colour %] title="[% st %]-[% st + w - 1 %]" height=16 width=[% w %] class=inline align=bottom/>[%- END -%]
54 [% WRAPPER 'page.tt' 
55         title = 'Exim BuildFarm Status'
56         bodyclass = 'none'
57         pagebutton = 'status'
58 %]
59     <h1>Exim BuildFarm Status</h1>
60     <p>
61       Shown here is the latest status of each farm member 
62       for each branch it has reported on in the last 30 days.
63     </p>
64     <p>
65        Use the farm member link for history of that member 
66        on the relevant branch.
67     </p>
68 <table><tr><th class="head" rowspan="2">Legend</th>
69 [% FOREACH flagset IN flag_imgs %]
70 <td><img src=[% flagset.value %] title="[% flagset.key %]" alt="[% flagset.key %]" height=16 width=16 class=inline align=center/> =  [% flagset.key %]</td>
71 [% IF loop.count == 7 %]</tr><tr>[% END %]
72 [% END %]
73 </tr></table>
74 <br />
75     <table cellspacing="0">
76 [% brch = "" %]
77 [% FOREACH row IN statrows %]
78 [% IF row.branch != brch ; brch = row.branch %]
79 <tr><th class="head" colspan="6">Branch: [% brch %]</th></tr>
80 <tr><th colspan="2">Alias</th><th>System</th><th>Status</th><th>Flags</th><th>Detail</th></tr>
81 [% END %]
82 <tr [% PROCESS cl bgfor=row.stage %]>
83     <td><a 
84     href="show_history.pl?nm=[% row.sysname %]&amp;br=[% row.branch | uri %]"
85     title="History"
86     >[% row.sysname %]</a></td>
87     <td>[% PROCESS sysnotes %]</td>
88     <td><span class="opsys">[% row.operating_system %]
89             [% row.os_version %]</span> <span class="compiler">
90             [%- row.compiler %]
91             [% row.compiler_version %]</span> <span class="arch">
92             [%- row.architecture %]</span></td>
93     <td class="status">
94             [%- row.when_ago | replace('\s','&nbsp;') %]&nbsp;ago&nbsp;
95             [% row.stage -%]
96             [[% row.git_head_ref.substr(0,7) %]]
97             <a href="show_log.pl?nm=
98                [%- row.sysname %]&amp;dt=
99                [%- row.snapshot | uri %]">
100                 [%- IF row.stage != 'OK' %]Details[% ELSE %]Config[% END -%]</a></td>
101
102     <td class="flags">[% FOREACH flag IN row.build_flags.split().unique().sort() ; PROCESS img ; END %]</td>
103     <td class="tests">[% FOREACH range IN row.log_text ;
104         r = range.split(' '); c = r.0; st = r.1; w = r.2; PROCESS colourbar; END %]</td>
105 </tr>
106 [% END %]
107     </table>
108 [% END %]