diff --git a/src/HydraFrontend/lib/HydraFrontend/Controller/Root.pm b/src/HydraFrontend/lib/HydraFrontend/Controller/Root.pm index 05b8ce9b..bb668242 100644 --- a/src/HydraFrontend/lib/HydraFrontend/Controller/Root.pm +++ b/src/HydraFrontend/lib/HydraFrontend/Controller/Root.pm @@ -340,12 +340,12 @@ sub nixlog :Local { sub loadLog { my ($path) = @_; - # !!! all a quick hack - if ($path =~ /.bz2$/) { - return `cat $path | bzip2 -d`; - } else { - return `cat $path`; - } + + # !!! quick hack + my $pipeline = ($path =~ /.bz2$/ ? "cat $path | bzip2 -d" : "cat $path") + . " | nix-log2xml | xsltproc xsl/mark-errors.xsl - | xsltproc xsl/log2html.xsl - | tail -n +2"; + + return `$pipeline`; } @@ -400,8 +400,8 @@ sub closure :Local { $c->stash->{storePath} = $product->path; $c->stash->{name} = $build->nixname; } - - + + sub end : ActionClass('RenderView') {} diff --git a/src/HydraFrontend/root/layout.tt b/src/HydraFrontend/root/layout.tt index 90f3e57e..ff2bac99 100644 --- a/src/HydraFrontend/root/layout.tt +++ b/src/HydraFrontend/root/layout.tt @@ -14,9 +14,11 @@ [% title %] - + + + + + + + + + + + + + + + + + + error + + + + + + + + + + /... + + + + \ No newline at end of file diff --git a/src/HydraFrontend/xsl/mark-errors.xsl b/src/HydraFrontend/xsl/mark-errors.xsl new file mode 100644 index 00000000..4e91913e --- /dev/null +++ b/src/HydraFrontend/xsl/mark-errors.xsl @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file