forked from lix-project/hydra
* Nix now stores logs by default as bzip2, make sure the build page uncompresses before showing.
This commit is contained in:
parent
209c51ca6c
commit
2aa52131ac
|
@ -30,6 +30,10 @@ sub build : Chained('/') PathPart CaptureArgs(1) {
|
||||||
$c->stash->{project} = $c->stash->{build}->project;
|
$c->stash->{project} = $c->stash->{build}->project;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub cat_log_command {
|
||||||
|
my ($path) = @_;
|
||||||
|
return ($path =~ /.bz2$/ ? "cat $path | bzip2 -d" : "cat $path");
|
||||||
|
}
|
||||||
|
|
||||||
sub view_build : Chained('build') PathPart('') Args(0) {
|
sub view_build : Chained('build') PathPart('') Args(0) {
|
||||||
my ($self, $c) = @_;
|
my ($self, $c) = @_;
|
||||||
|
@ -43,9 +47,11 @@ sub view_build : Chained('build') PathPart('') Args(0) {
|
||||||
|
|
||||||
$c->stash->{pathHash} = $c->stash->{available} ? queryPathHash($build->outpath) : undef;
|
$c->stash->{pathHash} = $c->stash->{available} ? queryPathHash($build->outpath) : undef;
|
||||||
|
|
||||||
|
my $pipestart;
|
||||||
if (!$build->finished && $build->busy) {
|
if (!$build->finished && $build->busy) {
|
||||||
my $logfile = $build->logfile;
|
my $logfile = $build->logfile;
|
||||||
$c->stash->{logtext} = `cat $logfile` if defined $logfile && -e $logfile;
|
$pipestart = cat_log_command($logfile);
|
||||||
|
$c->stash->{logtext} = `$pipestart` if defined $logfile && -e $logfile;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($build->finished && $build->iscachedbuild) {
|
if ($build->finished && $build->iscachedbuild) {
|
||||||
|
@ -56,7 +62,8 @@ sub view_build : Chained('build') PathPart('') Args(0) {
|
||||||
(my $lastBuildStep) = $build->buildsteps->search({},{order_by => "stepnr DESC", rows => 1});
|
(my $lastBuildStep) = $build->buildsteps->search({},{order_by => "stepnr DESC", rows => 1});
|
||||||
my $path = defined $lastBuildStep ? $lastBuildStep->logfile : "" ;
|
my $path = defined $lastBuildStep ? $lastBuildStep->logfile : "" ;
|
||||||
if ($build->finished && ($build->buildstatus == 1 || $build->buildstatus == 6) && !($path eq "") && -f $lastBuildStep->logfile) {
|
if ($build->finished && ($build->buildstatus == 1 || $build->buildstatus == 6) && !($path eq "") && -f $lastBuildStep->logfile) {
|
||||||
my $logtext = `tail -n 50 $path`;
|
$pipestart = cat_log_command($path);
|
||||||
|
my $logtext = `$pipestart | tail -n 50`;
|
||||||
$c->stash->{logtext} = removeAsciiEscapes($logtext);
|
$c->stash->{logtext} = removeAsciiEscapes($logtext);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue