diff options
Diffstat (limited to '')
-rw-r--r-- | config.yml | 7 | ||||
-rw-r--r-- | lib/jitterbug/Builder.pm | 17 | ||||
-rw-r--r-- | scripts/build-pass.sh | 14 |
3 files changed, 37 insertions, 1 deletions
diff --git a/config.yml b/config.yml index a0095fe..99ef6d6 100644 --- a/config.yml +++ b/config.yml @@ -24,8 +24,15 @@ jitterbug: on_failure_subject_prefix: "[jitterbug] FAIL " on_failure_header: on_failure_footer: + on_pass: ./scripts/build-passed.sh + on_pass_cc_email: alice@example.com + on_pass_subject_prefix: "[jitterbug] PASS " + on_pass_from_email: donotreply@example.com + on_pass_header: + on_pass_footer: options: perlbrew: 1 + email_on_pass: 0 plugins: DBIC: diff --git a/lib/jitterbug/Builder.pm b/lib/jitterbug/Builder.pm index 26b25e5..4d439ec 100644 --- a/lib/jitterbug/Builder.pm +++ b/lib/jitterbug/Builder.pm @@ -142,7 +142,7 @@ sub run_task { my $output = $lines; my $sha = $desc->{'id'}; my $on_failure = $conf->{'jitterbug'}{'build_process'}{'on_failure'}; - my $on_failure_cc_email = $conf->{'jitterbug'}{'build_process'}{'on_failure_email'}; + my $on_failure_cc_email = $conf->{'jitterbug'}{'build_process'}{'on_failure_cc_email'}; $message =~ s/'/\\'/g; $commiter =~ s/'/\\'/g; $output =~ s/'/\\'/g; my $failure_cmd = sprintf("%s '%s' %s '%s' '%s' %s %s", $on_failure, $commiter, $task->project->name, $message, $output, $sha, $on_failure_cc_email); @@ -156,6 +156,21 @@ sub run_task { } else { system($failure_cmd); } + } elsif ($conf->{'options'}{'email_on_pass'}) { + $result = "PASS"; + my $message = $desc->{'message'}; + my $commiter = $desc->{'author'}{'email'}; + my $output = $lines; + my $sha = $desc->{'id'}; + my $on_pass = $conf->{'jitterbug'}{'build_process'}{'on_pass'}; + my $on_pass_cc_email = $conf->{'jitterbug'}{'build_process'}{'on_pass_cc_email'}; + + $message =~ s/'/\\'/g; $commiter =~ s/'/\\'/g; $output =~ s/'/\\'/g; + my $pass_cmd = sprintf("%s '%s' %s '%s' '%s' %s %s", $on_pass, $commiter, $task->project->name, $message, $output, $sha, $on_pass_cc_email); + debug("Running pass command: $pass_cmd"); + + # TODO: create perl pass emailer + system($pass_cmd); } $desc->{'build'}{'version'}{$name} = $result; close $fh; diff --git a/scripts/build-pass.sh b/scripts/build-pass.sh new file mode 100644 index 0000000..9f6f2b8 --- /dev/null +++ b/scripts/build-pass.sh @@ -0,0 +1,14 @@ +COMMITER=$1 +PROJECT=$2 +MESSAGE=$3 +OUTPUT=$4 +SHA=$5 +CC_EMAIL=$6 + +echo " +Message: +$MESSAGE + +Test Output: +$OUTPUT +" | mail -c "$CC_EMAIL" -s "[jitterbug] PASS $PROJECT @ $SHA" $COMMITER |