diff options
author | Jonathan "Duke" Leto <jonathan@leto.net> | 2011-01-05 13:09:13 -0800 |
---|---|---|
committer | Jonathan "Duke" Leto <jonathan@leto.net> | 2011-01-05 13:09:13 -0800 |
commit | db9fa04c149bb99f43786aab25f4513c547786bc (patch) | |
tree | d1d8db609453470c99104258b85ad75155b8fbfb /lib | |
parent | Properly bubble up errors from rmtree (diff) | |
download | jitterbug-db9fa04c149bb99f43786aab25f4513c547786bc.tar.gz |
Attempt to avoid a race condition and emit more debug info
Diffstat (limited to '')
-rw-r--r-- | lib/jitterbug/Builder.pm | 11 |
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(); |