forked from lix-project/hydra
hydra-build: Hack to handle timeouts
This commit is contained in:
parent
e4cbd057e2
commit
4705af48b8
|
@ -142,6 +142,22 @@ sub doBuild {
|
||||||
next;
|
next;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Hack to handle timeouts, which Nix doesn't report
|
||||||
|
# properly when they occur remotely. If we get a "hook
|
||||||
|
# failed" error and $maxsilent seconds have passed since
|
||||||
|
# the start of the build step, then assume that a timeout
|
||||||
|
# occured.
|
||||||
|
if (/^@\s+hook-failed\s+(\S+)\s+(\S+)\s+(\S+)\s+(.*)$/ && $3 eq "256") {
|
||||||
|
my $drvPathStep = $1;
|
||||||
|
if ($buildSteps{$drvPathStep}) {
|
||||||
|
my $step = $build->buildsteps->find({stepnr => $buildSteps{$drvPathStep}}) or die;
|
||||||
|
print STDERR $step->starttime, " ", time(), "\n";
|
||||||
|
if ($step->starttime + $maxsilent <= time) {
|
||||||
|
$_ = "@ build-failed $1 $2 timeout $4";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (/^@\s+build-started\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)$/) {
|
if (/^@\s+build-started\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)$/) {
|
||||||
my $drvPathStep = $1;
|
my $drvPathStep = $1;
|
||||||
txn_do($db, sub {
|
txn_do($db, sub {
|
||||||
|
|
Loading…
Reference in a new issue