From 75bd5b1c4aac996422eca2a7f498b31d1d1bba18 Mon Sep 17 00:00:00 2001 From: "Jonathan \"Duke\" Leto" Date: Fri, 28 Jan 2011 16:02:14 -0500 Subject: Add a builder_variablse YAML key, which passed environment variables to the builder --- config.yml | 1 + lib/jitterbug/Builder.pm | 3 ++- scripts/capsule.sh | 10 ++++++---- t/005_builder.t | 5 +++-- t/data/test.yml | 3 ++- 5 files changed, 14 insertions(+), 8 deletions(-) diff --git a/config.yml b/config.yml index bf9bd23..a0095fe 100644 --- a/config.yml +++ b/config.yml @@ -17,6 +17,7 @@ jitterbug: dir: /tmp/build build_process: builder: ./scripts/capsule.sh + builder_variables: on_failure: ./scripts/build-failed.sh on_failure_cc_email: alice@example.com on_failure_from_email: donotreply@example.com diff --git a/lib/jitterbug/Builder.pm b/lib/jitterbug/Builder.pm index a836f70..26b25e5 100644 --- a/lib/jitterbug/Builder.pm +++ b/lib/jitterbug/Builder.pm @@ -114,8 +114,9 @@ sub run_task { my $builder = $conf->{'jitterbug'}{'build_process'}{'builder'}; my $perlbrew = $conf->{'options'}{'perlbrew'} || 1; + my $builder_variables = $conf->{'jitterbug'}{'build_process'}{'builder_variables'}; - my $builder_command = "$builder $build_dir $report_path $perlbrew"; + my $builder_command = "$builder_variables $builder $build_dir $report_path $perlbrew"; debug("Going to run builder : $builder_command"); my $res = `$builder_command`; diff --git a/scripts/capsule.sh b/scripts/capsule.sh index abc632d..4d99bba 100755 --- a/scripts/capsule.sh +++ b/scripts/capsule.sh @@ -2,6 +2,12 @@ # first arg: build_dir # second arg: report path +# third arg: should we use perlbrew? + +# this is getting smelly +builddir=$1 +report_path=$2 +perlbrew=$3 function jitterbug_build () { if [ -f 'dist.ini' ]; then @@ -34,10 +40,6 @@ function jitterbug_build () { fi } -# this is getting smelly -builddir=$1 -report_path=$2 -perlbrew=$3 echo "Creating report_path=$report_path" mkdir -p $report_path diff --git a/t/005_builder.t b/t/005_builder.t index 84e13ef..81cdd98 100644 --- a/t/005_builder.t +++ b/t/005_builder.t @@ -44,7 +44,7 @@ use jitterbug::Builder; 'DBIC' => { 'schema' => { 'connect_info' => [ - 'dbi:SQLite:dbname=jitterbug.db' + 'dbi:SQLite:dbname=t/data/jitterbug.db' ], 'pckg' => 'jitterbug::Schema', 'skip_automake' => '1' @@ -54,7 +54,8 @@ use jitterbug::Builder; 'jitterbug' => { 'build_process' => { 'on_failure' => './scripts/build-failed.sh', - 'builder' => './scripts/capsule.sh' + 'builder' => './scripts/capsule.sh', + 'builder_variables' => 'STUFF=BLAH', }, 'builder' => {}, 'reports' => { diff --git a/t/data/test.yml b/t/data/test.yml index e4144c3..9ec509e 100644 --- a/t/data/test.yml +++ b/t/data/test.yml @@ -17,6 +17,7 @@ jitterbug: dir: /tmp/build build_process: builder: ./scripts/capsule.sh + builder_variables: STUFF=BLAH on_failure: ./scripts/build-failed.sh plugins: @@ -25,6 +26,6 @@ plugins: skip_automake: 1 pckg: "jitterbug::Schema" connect_info: - - dbi:SQLite:dbname=jitterbug.db + - dbi:SQLite:dbname=t/data/jitterbug.db -- cgit 1.4.1