43b89c413ce734394de7a2c3123916789b4d3fc6
[buildfarm-server.git] / templates / log.tt
1 [%#
2
3 Copyright (c) 2003-2010, Andrew Dunstan
4
5 See accompanying License file for license details
6
7 -%]
8 [% PERL %]
9         use POSIX qw(ceil);
10         my $lrfactor = 6;
11         $stash->set(lrfactor => $lrfactor);
12         my $rows = $stash->get('log_file_names'); 
13         my $logrows = ceil(scalar(@$rows)/$lrfactor);
14         my $logcells = $lrfactor * $logrows;
15         $stash->set( logcells => $logcells);
16         $stash->set( logrows => $logrows ); 
17 [% END -%]
18 [% mytitle = BLOCK %]PostgreSQL BuildFarm | [% IF stage != 'OK' %]Log for system "[% system %]" failure on snapshot taken [% urldt ; ELSE %]Configuration summary for system "[% system %]" snapshot taken [% urldt ; END ; END -%]
19 [%
20         cvsurl = 'http://anoncvs.postgresql.org/cvsweb.cgi';
21         giturl = scmurl || 'http://git.postgresql.org/gitweb?p=postgresql.git;a=commit;h=';
22 -%]
23 [% WRAPPER 'page.tt' 
24         title = mytitle
25         bodyclass = 'none'
26         pagebutton = 'none'
27 %]
28 [%- BLOCK gitlog ;
29         commitref = clog.replace('^commit ([0-9A-Fa-f]+)(.|\n)*','$1');
30         logtail = clog.replace('^commit ([0-9A-Fa-f]+)','');
31         logtail = logtail.replace('\n',' ');
32
33 %]<a href="[% giturl ; commitref %]">[% commitref %]</a>[% logtail | html %]
34 [% END -%]
35 <h1>PostgreSQL Build Farm Log</h1>
36 <h2>Details for system "[% system %]"[% IF stage != 'OK' %] failure at stage [% stage ; ELSE %], status 'OK'[% END %], snapshot taken [% urldt %]</h2>
37 <table cellspacing="0">
38     <tr>
39         <th class="head" rowspan="2">System Information</th>
40         <th>Farm member</th>
41         <th>Branch</th>
42         <th>OS</th>
43         <th>Compiler</th>
44         <th>Architecture</th>
45         <th>Owner</th>
46     </tr>
47     <tr>
48         <td>[% system %]</td>
49         <td><a href="/cgi-bin/show_history.pl?nm=[% system %]&amp;br=[% branch %]">[% branch %]</a></td>
50         <td>[% info_row.operating_system %] [% info_row.os_version %]</td>
51         <td>[% info_row.compiler %] [% info_row.compiler_version %]</td>
52         <td>[% info_row.architecture %]</td>
53         <td>[% info_row.owner_email %]</td>
54     </tr>
55   </table>
56 [% IF info_row.sys_notes %]
57     <br />
58     <table>
59      <tr>
60        <th class="head" rowspan="2">System Notes</th>
61        <th>Date</th>
62        <th>Notes</th>
63      </tr>
64      <tr>
65       <td>[% info_row.sys_notes_date %]</td>
66       <td>[% info_row.sys_notes %]</td>
67      </tr>
68    </table>
69 [% END %]
70 [% cell = 0; FOREACH logstage  IN log_file_names ; striplog = logstage.replace('\.log$','') ; cell = loop.count %]
71   [% IF loop.first %] 
72     <br /> <table><tr><th class='head' rowspan='[% logrows %]'>Stage Logs</th>
73   [% END %]
74     [% IF loop.count > 1 and loop.count % lrfactor == 1 %]<tr>[% END %]
75     <td><a href='show_stage_log.pl?nm=[% system %]&amp;dt=[% urldt | uri %]&amp;stg=[% striplog %]'>[% striplog %]</a></td>
76     [% IF loop.count % lrfactor == 0 %]</tr>[% END %]
77 [% END %]
78
79 [% IF cell > 0 ; nrcell = cell + 1; ncells = [ nrcell .. logcells ] ; FOREACH rcell IN ncells %]
80         [% IF rcell > 1 and rcell % lrfactor == 1 %]<tr>[% END %]
81         <td>&nbsp;</td>
82         [% IF rcell % lrfactor == 0 %]</tr>[% END %]
83     [% END %]
84     </table>
85 [% END %]
86
87 <h3>Configuration summary</h3>
88 <pre>
89 [% conf | html %]
90 </pre>
91 <table>
92 <tr>
93 <td valign="top">
94 <h3>Files changed this run</h3>
95 [%- IF changed_this_run.0 -%]
96 <pre>
97 [%- FOREACH changed IN changed_this_run %]
98 <a href="[% IF scm == 'git' ; giturl; changed.1; ELSE ; cvsurl ; changed.0; 'rev='; changed.1; END %]">[% changed.0 ; IF scm == 'cvs'; ' '; changed.1; END %]</a>
99 [%- END -%]
100 </pre>
101 [% END %]
102 </td>
103 <td valign="top" style="padding-left: 10pt;">
104 [% IF changed_this_run_logs.0 %]
105 <h5>Git log</h5>
106 <pre>
107 <a href="https://github.com/postgres/postgres/compare/[% last_build_git_ref %]...[% git_head_ref %]">Change Set for this build</a>
108
109 [% FOREACH clog IN changed_this_run_logs ; PROCESS gitlog -%]
110 [%- END -%]
111 </pre>
112 </td>
113 [%- ELSE %]
114 not recorded
115 </pre>
116 </td>
117 [% END -%]
118 </tr>
119 [% IF stage != 'OK' %]
120 <tr>
121 <td valign="top">
122 <h3>Files changed since last success</h3>
123 [%- IF changed_since_success.0 %]
124 <pre>
125 [%- FOREACH changed IN changed_since_success %]
126 <a href="[% IF scm == 'git' ; giturl; changed.1; ELSE ; cvsurl ; changed.0; 'rev='; changed.1; END %]">[% changed.0 ; IF scm == 'cvs'; ' '; changed.1; END %]</a>
127 [%- END -%]
128 </pre>
129 [% END %]
130 </td>
131 <td valign="top" style="padding-left: 10pt;">
132 [% IF changed_since_success_logs.0 %]
133 <h5>Git log</h5>
134 <pre>
135 <a href="https://github.com/postgres/postgres/compare/[% last_success_git_ref %]...[% last_build_git_ref %]">Change Set prior to this build</a>
136
137 <a href="https://github.com/postgres/postgres/compare/[% last_success_git_ref %]...[% git_head_ref %]">Change Set including this build</a>
138
139 [% FOREACH clog IN changed_since_success_logs ; PROCESS gitlog -%]
140 [%- END -%]
141 </pre>
142 </td>
143 [%- ELSE %]
144 <pre>
145 not recorded
146 </pre>
147 </td>
148 [% END -%]
149 </tr>
150 [% END %]
151 </table>
152 <h3>Log</h3>
153 <pre>
154 [% log | html %]
155 </pre>
156 [% END %]