[%# Copyright (c) 2003-2010, Andrew Dunstan See accompanying License file for license details -%] [% flag_imgs = { 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', 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 %][% flag %] [% ELSE %][%# flag ; ' ' %][% END ; END -%] [%- BLOCK sysnotes ; IF row.sys_notes %] [%- 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 %][%- END -%] [% WRAPPER 'page.tt' title = 'Exim BuildFarm Status' bodyclass = 'none' pagebutton = 'status' %]

Exim BuildFarm Status

Shown here is the latest status of each farm member for each branch it has reported on in the last 30 days.

Use the farm member link for history of that member on the relevant branch.

[% FOREACH flagset IN flag_imgs %] [% IF loop.count == 7 %][% END %] [% END %]
Legend[% flagset.key %] = [% flagset.key %]

[% brch = "" %] [% FOREACH row IN statrows %] [% IF row.branch != brch ; brch = row.branch %] [% END %] [% END %]
Branch: [% brch %]
AliasSystemStatusFlagsDetail
[% row.sysname %] [% PROCESS sysnotes %] [% row.operating_system %] [% row.os_version %] [%- row.compiler %] [% row.compiler_version %] [%- row.architecture %] [%- row.when_ago | replace('\s',' ') %] ago  [% row.stage -%] [[% row.git_head_ref.substr(0,7) %]] [%- IF row.stage != 'OK' %]Details[% ELSE %]Config[% END -%] [% FOREACH flag IN row.build_flags.split().unique().sort() ; PROCESS img ; END %] [% FOREACH range IN row.log_text ; r = range.split(' '); c = r.0; st = r.1; w = r.2; PROCESS colourbar; END %]
[% END %]