summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan "Duke" Leto <jonathan@leto.net>2011-01-05 13:09:13 -0800
committerJonathan "Duke" Leto <jonathan@leto.net>2011-01-05 13:09:13 -0800
commitdb9fa04c149bb99f43786aab25f4513c547786bc (patch)
treed1d8db609453470c99104258b85ad75155b8fbfb
parentProperly bubble up errors from rmtree (diff)
downloadjitterbug-db9fa04c149bb99f43786aab25f4513c547786bc.tar.gz
Attempt to avoid a race condition and emit more debug info
-rw-r--r--lib/jitterbug/Builder.pm11
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/jitterbug/Builder.pm b/lib/jitterbug/Builder.pm
index 1dbed73..6442e48 100644
--- a/lib/jitterbug/Builder.pm
+++ b/lib/jitterbug/Builder.pm
@@ -56,6 +56,7 @@ sub build {
my @tasks = $self->{'schema'}->resultset('Task')->all();
while (1) {
+ debug("Found " . scalar(@tasks) . " tasks");
foreach my $task (@tasks) {
$task ? $self->run_task($task) : $self->sleep;
}
@@ -99,15 +100,21 @@ sub run_task {
rmtree($build_dir, { error => \my $err } );
warn @$err if @$err;
+ $self->sleep(1); # avoid race conditions
+
my $repo = $task->project->url . '.git';
my $r = Git::Repository->create( clone => $repo => $build_dir );
debug("Checking out " . $task->commit->sha256 . " from $repo into $build_dir\n");
$r->run( 'checkout', $task->commit->sha256 );
- my $builder = $conf->{'jitterbug'}{'build_process'}{'builder'};
- my $res = `$builder $build_dir $report_path`;
+ my $builder = $conf->{'jitterbug'}{'build_process'}{'builder'};
+
+ my $builder_command = "$builder $build_dir $report_path";
+ debug("Going to run builder : $builder_command");
+ my $res = `$builder_command`;
+ debug($res);
$desc->{'build'}{'end_time'} = time();