* Provide access to the raw, non-pretty-printed logfiles.
[?]
Mar 14, 2009, 11:27 PM
6F4UNDTCAW7LYSKTUUUCX32BLAAGYPUPK2LXMMZ32Y6H3CBWP6TQCDependencies
- [2]
7Z3YOKCV* PROCESS -> INCLUDE in most cases. INCLUDE does proper scoping of - [3]
AS5PAYLI - [4]
D3DIBMOK* For products that are directories (like manuals), allow a default - [5]
3E6IP3R3* Add the name of the jobset to ReleaseSetJobs, otherwise we can't - [6]
S5PV6IIM* Represent jobs explicitly in the DB. - [7]
SMM4HQTP* Put actions related to builds under /build (e.g. /log/<buildid> - [8]
C2DCO6AS - [9]
J5UVLXOK* Start of a basic Catalyst web interface. - [10]
BD3GRK4B* Get rid of "positive failures" and separate log phases. - [11]
CLJQCY2X* Store info about all the build actions and allow them to be - [12]
JLDUSNUO* Unify rendering of finished and scheduled builds. - [13]
LBNVQXUB* Build the /build stuff in a separate controller. - [14]
MRVTLC76 - [15]
6FXGLP7T* Render durations nicely. - [16]
6JGCGK5X - [17]
YTSIRIMK* Separate job status and all builds pages. - [18]
GNIEG2GC* Disambiguate jobs by jobset name. I.e. jobs with the same name in - [19]
5NO7NCKT* Refactoring. - [*]
ZILILXXK* Allow scheduled builds to be cancelled. They're not removed from - [*]
IK53RV4V
Change contents
- replacement in src/lib/Hydra/Controller/Build.pm at line 42
sub view_nixlog : Chained('build') PathPart('nixlog') Args(1) {my ($self, $c, $stepnr) = @_;sub view_nixlog : Chained('build') PathPart('nixlog') {my ($self, $c, $stepnr, $mode) = @_; - edit in src/lib/Hydra/Controller/Build.pm at line 48
$c->stash->{template} = 'log.tt'; - replacement in src/lib/Hydra/Controller/Build.pm at line 50
# !!! should be done in the view (as a TT plugin).$c->stash->{logtext} = loadLog($c, $step->logfile);showLog($c, $step->logfile, $mode); - replacement in src/lib/Hydra/Controller/Build.pm at line 54
sub view_log : Chained('build') PathPart('log') Args(0) {my ($self, $c) = @_;sub view_log : Chained('build') PathPart('log') {my ($self, $c, $mode) = @_; - edit in src/lib/Hydra/Controller/Build.pm at line 58
$c->stash->{template} = 'log.tt'; - replacement in src/lib/Hydra/Controller/Build.pm at line 59
# !!! should be done in the view (as a TT plugin).$c->stash->{logtext} = loadLog($c, $c->stash->{build}->resultInfo->logfile);showLog($c, $c->stash->{build}->resultInfo->logfile, $mode); - replacement in src/lib/Hydra/Controller/Build.pm at line 63
sub loadLog {my ($c, $path) = @_;sub showLog {my ($c, $path, $mode) = @_; - replacement in src/lib/Hydra/Controller/Build.pm at line 67
# !!! quick hackmy $pipeline = ($path =~ /.bz2$/ ? "cat $path | bzip2 -d" : "cat $path"). " | nix-log2xml | xsltproc " . $c->path_to("xsl/mark-errors.xsl") . " -". " | xsltproc " . $c->path_to("xsl/log2html.xsl") . " - | tail -n +2";if ($mode eq "") {# !!! quick hackmy $pipeline = ($path =~ /.bz2$/ ? "cat $path | bzip2 -d" : "cat $path"). " | nix-log2xml | xsltproc " . $c->path_to("xsl/mark-errors.xsl") . " -". " | xsltproc " . $c->path_to("xsl/log2html.xsl") . " - | tail -n +2"; - replacement in src/lib/Hydra/Controller/Build.pm at line 74
return `$pipeline`;$c->stash->{template} = 'log.tt';$c->stash->{logtext} = `$pipeline`;}elsif ($mode eq "raw") {$c->serve_static_file($path);}else {error($c, "Unknown log display mode `$mode'.");} - edit in src/root/build.tt at line 166
(<a href="[% c.uri_for('/build' build.id 'log' 'raw') %]">raw</a>) - replacement in src/root/build.tt at line 253
(<a href="[% log %]">log</a>)(<a href="[% log %]">log</a>, <a href="[% "$log/raw" %]">raw</a>) - replacement in src/root/common.tt at line 36
</a></tt> - edit in src/root/common.tt at line 41
<tt> - edit in src/root/common.tt at line 42
</a> - edit in src/root/log.tt at line 2
[% PROCESS common.tt %] - replacement in src/root/log.tt at line 4
<h1>Logfile for <tt>[% build.project.name %]:[% build.job %]</tt> build [% build.id %][%IF step %], step [% step.stepnr %] (<tt>[% step.outpath %]</tt>)[% END %]</h1><h1>Logfile for [% INCLUDE renderFullJobNameOfBuild %] build [% build.id %][%IF step %] step [% step.stepnr %][% END %]</h1><p>Below is the logfile of the <a href="[% c.uri_for('/build' build.id) %]">build</a> producing Nix store path <tt>[% step.outpath %]</tt>.</p>