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;
|
||||
}
|
||||
|
||||
# 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+)$/) {
|
||||
my $drvPathStep = $1;
|
||||
txn_do($db, sub {
|
||||
|
|
Loading…
Reference in a new issue