summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan "Duke" Leto <jonathan@leto.net>2011-01-08 01:44:59 -0800
committerJonathan "Duke" Leto <jonathan@leto.net>2011-01-08 01:44:59 -0800
commite0f9ce9218fe3151fe6e395038bcd088dbafad2a (patch)
tree11afce3acb469c6cf8418e30f4db0069be179777
parentAdd debug info for a failed build event (diff)
downloadjitterbug-e0f9ce9218fe3151fe6e395038bcd088dbafad2a.tar.gz
Add ability to disable perlbrew
This option comes in handy for those that want to run long test suites on just one version of Perl and/or those using local::lib (which doesn't play nice with perlbrew with XS modules).
-rw-r--r--config.yml2
-rw-r--r--lib/jitterbug/Builder.pm4
-rwxr-xr-xscripts/capsule.sh37
3 files changed, 28 insertions, 15 deletions
diff --git a/config.yml b/config.yml
index e4144c3..91e7265 100644
--- a/config.yml
+++ b/config.yml
@@ -18,6 +18,8 @@ jitterbug:
build_process:
builder: ./scripts/capsule.sh
on_failure: ./scripts/build-failed.sh
+ options:
+ perlbrew: 1
plugins:
DBIC:
diff --git a/lib/jitterbug/Builder.pm b/lib/jitterbug/Builder.pm
index 72b4216..6441c0d 100644
--- a/lib/jitterbug/Builder.pm
+++ b/lib/jitterbug/Builder.pm
@@ -113,7 +113,9 @@ sub run_task {
my $builder = $conf->{'jitterbug'}{'build_process'}{'builder'};
- my $builder_command = "$builder $build_dir $report_path";
+ my $perlbrew = $conf->{'options'}{'perlbrew'} || 1;
+
+ my $builder_command = "$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 7411639..cd102a7 100755
--- a/scripts/capsule.sh
+++ b/scripts/capsule.sh
@@ -3,27 +3,36 @@
# first arg: build_dir
# second arg: report path
+# this is getting smelly
builddir=$1
report_path=$2
+perlbrew=$3
echo "Creating report_path=$report_path"
mkdir -p $report_path
cd $builddir
-source $HOME/perl5/perlbrew/etc/bashrc
-
-for perl in $HOME/perl5/perlbrew/perls/perl-5.*
-do
- theperl="$(basename $perl)"
-
- echo ">perlbrew switch $theperl"
- perlbrew switch $theperl
- # TODO: check error condition
-
- perlversion=$(perl -v)
- logfile="$report_path/$theperl.txt"
-
+if [ $use_perlbrew ]; then
+ source $HOME/perl5/perlbrew/etc/bashrc
+ for perl in $HOME/perl5/perlbrew/perls/perl-5.*
+ do
+ theperl="$(basename $perl)"
+
+ echo ">perlbrew switch $theperl"
+ perlbrew switch $theperl
+ # TODO: check error condition
+
+ logfile="$report_path/$theperl.txt"
+ jitterbug_build
+ done
+else
+ theperl="$(basename perl -e \"print $]\")"
+ logfile="$report_path/$theperl.txt"
+ jitterbug_build
+fi
+
+function jitterbug_build () {
if [ -f 'dist.ini' ]; then
echo "Found dist.ini, using Dist::Zilla"
dzil authordeps | cpanm
@@ -42,4 +51,4 @@ do
make
HARNESS_VERBOSE=1 make test >> $logfile 2>&1
fi
-done
+}