From ecdbce1a6117ca53b2bfa03cb1e59eb61fdcfbb8 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 22 Jan 2013 23:01:29 +0100 Subject: [PATCH] Handle active build steps of aborted builds properly --- src/root/build.tt | 10 ++++------ src/script/hydra-build | 5 +---- src/script/hydra-queue-runner | 1 + 3 files changed, 6 insertions(+), 10 deletions(-) diff --git a/src/root/build.tt b/src/root/build.tt index 2610e939..20ecb04e 100644 --- a/src/root/build.tt +++ b/src/root/build.tt @@ -41,13 +41,11 @@ [% step.machine.split('@').1 %] [% IF step.busy == 1 %] - [% IF build.finished %] - Aborted - [% ELSE %] - Building - [% END %] + Building [% ELSIF step.status == 0 %] Succeeded + [% ELSIF step.status == 4 %] + Aborted [% ELSE %] Failed: [% HTML.escape(step.errormsg) %] [% END %] @@ -163,7 +161,7 @@ [% END %] - [% IF !build.finished %] + [% IF build.busy %]

Running build steps

[% INCLUDE renderBuildSteps type="Running" %] [% END %] diff --git a/src/script/hydra-build b/src/script/hydra-build index 4e6721cc..ebcbb9df 100755 --- a/src/script/hydra-build +++ b/src/script/hydra-build @@ -286,10 +286,7 @@ sub doBuild { my $drvPathStep = $1; txn_do($db, sub { my $step = $build->buildsteps->find({stepnr => $buildSteps{$drvPathStep}}) or die; - my $stepOutpath = $step->outpath; - my $stepStatus = 0; - - $step->update({busy => 0, status => $stepStatus, stoptime => time}); + $step->update({busy => 0, status => 0, stoptime => time}); }); } diff --git a/src/script/hydra-queue-runner b/src/script/hydra-queue-runner index 06f02536..dbf0987f 100755 --- a/src/script/hydra-queue-runner +++ b/src/script/hydra-queue-runner @@ -41,6 +41,7 @@ sub unlockDeadBuilds { if ($unlock) { print "build ", $build->id, " pid $pid died, unlocking\n"; $build->update({ busy => 0, locker => ""}); + $build->buildsteps->search({ busy => 1 })->update({ busy => 0, status => 4, stoptime => time }); } } });