diff --git a/src/lib/Hydra/Controller/Build.pm b/src/lib/Hydra/Controller/Build.pm index 9efdc7d2..3c077a28 100644 --- a/src/lib/Hydra/Controller/Build.pm +++ b/src/lib/Hydra/Controller/Build.pm @@ -55,7 +55,7 @@ sub view_build : Chained('build') PathPart('') Args(0) { (my $lastBuildStep) = $build->buildsteps->search({},{order_by => "stepnr DESC", rows => 1}); my $path = defined $lastBuildStep ? $lastBuildStep->logfile : "" ; if (defined $build->resultInfo && ($build->resultInfo->buildstatus == 1 || $build->resultInfo->buildstatus == 6) && !($path eq "") && -f $lastBuildStep->logfile) { - $c->stash->{logtext} = `tail -n 50 $path`; + $c->stash->{logtext} = removeAsciiEscapes(`tail -n 50 $path`); } if($build->finished) { diff --git a/src/lib/Hydra/Helper/Nix.pm b/src/lib/Hydra/Helper/Nix.pm index c687c60a..baaceee3 100644 --- a/src/lib/Hydra/Helper/Nix.pm +++ b/src/lib/Hydra/Helper/Nix.pm @@ -14,7 +14,7 @@ our @EXPORT = qw( registerRoot getGCRootsDir gcRootFor getPrimaryBuildsForView getPrimaryBuildTotal - getViewResult getLatestSuccessfulViewResult jobsetOverview); + getViewResult getLatestSuccessfulViewResult jobsetOverview removeAsciiEscapes); sub isValidPath { @@ -259,5 +259,10 @@ sub getLatestSuccessfulViewResult { return undef; } +sub removeAsciiEscapes { + my ($logtext) = @_; + $logtext =~ s/\e\[[A-Za-z]//g; + return $logtext; +} 1; diff --git a/src/script/hydra_build.pl.in b/src/script/hydra_build.pl.in index 04fcbe22..a3b66dcc 100755 --- a/src/script/hydra_build.pl.in +++ b/src/script/hydra_build.pl.in @@ -156,7 +156,7 @@ sub sendEmailNotification { my $loglines = 50; my $logfile = $build->resultInfo->logfile; - my $logtext = defined $logfile && -e $logfile ? `tail -$loglines $logfile` : "No logfile available.\n"; + my $logtext = defined $logfile && -e $logfile ? removeAsciiEscapes(`tail -$loglines $logfile`) : "No logfile available.\n"; my $body = "Hi,\n" . "\n"