When propagating failure, propagate the duration and machine

[?]
Feb 25, 2015, 3:21 PM
SX5XYD6IDS4ZCHRMX6NRLSOSGXUE6WYYA5CMKXMNGQWTMXXLENZQC

Dependencies

  • [2] UCVYVMXB Use the same start/stop time for the build steps as for the build
  • [3] G5A7TZVI * Don't discard old build steps when restarting a build.
  • [4] LQNBKF3D
  • [5] PMNWRTGJ Add multiple output support
  • [6] JGLE5BRN Add separate build step status codes for cached failures and timeouts
  • [7] MNZ67UXO If a build step fail, immediately fail all queued builds that depend on it
  • [8] 3BKF6P72 * Use Nix's negative caching.
  • [9] 4SJPAAJX Pass failing dependent builds to buildFinished
  • [10] DGZE7ZRA * Don't log redundant build steps in case of cached failures.
  • [11] NLJJZVHO * Use ->update({...}) properly.
  • [12] LZO3C2KI * Hack around those SQLite timeouts: just retry the transaction.
  • [13] CLJQCY2X * Store info about all the build actions and allow them to be
  • [14] AS5PAYLI
  • [*] 7YBYT2LQ

Change contents

  • replacement in src/script/hydra-build at line 42
    [3.266][3.198:255]()
    my ($drvPath, $status, $errorMsg, $dependents) = @_;
    [3.266]
    [3.301]
    my ($drvPath, $status, $errorMsg, $dependents, $startTime, $stopTime, $machine) = @_;
  • replacement in src/script/hydra-build at line 74
    [3.292][2.0:73]()
    , starttime => $time
    , stoptime => $time
    [3.292]
    [3.1454]
    , starttime => $startTime
    , stoptime => $stopTime
  • edit in src/script/hydra-build at line 77
    [3.1494]
    [3.1494]
    , machine => $machine
  • edit in src/script/hydra-build at line 208
    [3.582]
    [3.1010]
    my $now = time;
    my $stepStartTime = $now;
    my $stepStopTime = $now;
    my $machine = undef;
  • replacement in src/script/hydra-build at line 215
    [3.507][3.583:695]()
    $step->update({busy => 0, status => $status, errormsg => $errorMsg, stoptime => time});
    [3.507]
    [3.0]
    $stepStartTime = $step->starttime;
    $stepStopTime = $now;
    $machine = $step->machine;
    $step->update({busy => 0, status => $status, errormsg => $errorMsg, stoptime => $now});
  • replacement in src/script/hydra-build at line 230
    [3.744][3.3361:3456](),[3.3361][3.3361:3456]()
    , starttime => time
    , stoptime => time
    [3.744]
    [3.533]
    , starttime => $now
    , stoptime => $now
  • replacement in src/script/hydra-build at line 239
    [3.1708][3.745:824]()
    failDependents($drvPathStep, $status, $errorMsg, $dependents);
    [3.1708]
    [3.649]
    failDependents($drvPathStep, $status, $errorMsg, $dependents, $stepStartTime, $stepStopTime, $machine);