about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJonathan "Duke" Leto <jonathan@leto.net>2011-01-11 15:38:50 -0500
committerJonathan "Duke" Leto <jonathan@leto.net>2011-01-11 15:38:50 -0500
commit490c240d5f70ca5c7fabd747ec6bfb7e218eeef7 (patch)
tree07cd7cea2428dd34fda88ff2aae80da5c238bab2
parentAttempt to fix the mangled build failure email bug (diff)
downloadjitterbug-490c240d5f70ca5c7fabd747ec6bfb7e218eeef7.tar.gz
Make build failure email more useful by including TAP output
-rw-r--r--lib/jitterbug/Builder.pm4
-rwxr-xr-xscripts/build-failed.sh17
2 files changed, 14 insertions, 7 deletions
diff --git a/lib/jitterbug/Builder.pm b/lib/jitterbug/Builder.pm
index 58da724..376b98c 100644
--- a/lib/jitterbug/Builder.pm
+++ b/lib/jitterbug/Builder.pm
@@ -138,13 +138,13 @@ sub run_task {
             $result = "FAIL";
             my $message          = $desc->{'message'};
             my $commiter         = $desc->{'author'}{'email'};
-            my $output           = "Build failed";
+            my $output           = $lines;
             my $sha              = $desc->{'id'};
             my $on_failure       = $conf->{'jitterbug'}{'build_process'}{'on_failure'};
             my $on_failure_email = $conf->{'jitterbug'}{'build_process'}{'on_failure_email'};
 
             $message  =~ s/'/\\'/g; $commiter =~ s/'/\\'/g; $output =~ s/'/\\'/g;
-            my $failure_cmd = qq{$on_failure '$commiter' '$message' '$output' $sha $on_failure_email};
+            my $failure_cmd = sprintf("%s '%s' %s '%s' '%s' %s %s", $on_failure, $commiter, $task->project->name, $message, $output, $sha, $on_failure_email);
             debug("Running failure command: $failure_cmd");
             `$failure_cmd`;
         }
diff --git a/scripts/build-failed.sh b/scripts/build-failed.sh
index 1be5cd2..ebd098a 100755
--- a/scripts/build-failed.sh
+++ b/scripts/build-failed.sh
@@ -1,7 +1,14 @@
 COMMITER=$1
-MESSAGE=$2
-OUTPUT=$3
-SHA=$4
-CC_EMAIL=$5
+PROJECT=$2
+MESSAGE=$3
+OUTPUT=$4
+SHA=$5
+CC_EMAIL=$6
 
-echo "Message:\n$MESSAGE\nTest Output:\n$OUTPUT\n" | mail -c "$CC_EMAIL" -s "[jitterbug] BUILD FAILED $SHA" $COMMITER
+echo "
+Message:
+$MESSAGE
+
+Test Output:
+$OUTPUT
+" | mail -c "$CC_EMAIL" -s "[jitterbug] FAIL $PROJECT @ $SHA" $COMMITER