Flake support
HTDANBLNORWZLQYXGUADX4KMUNYGH75TDF3FMMGRKE4Q2CHQMEWQC
QGLBQ5IOVSMBQRXXHO4LOJG4A7V3HSUZESCP2N235A7L4VVOBKCQC
XCXMK24UK6CIYCJITRERAX3IBAH5EW22SLWD2JPHVWBOSFVTGOQQC
IZOT24A3DNHVBDQIRVRIKUMG3VSDAIP2A5UPI4SU2H7FAUSGP3OAC
3A7HTJZP2B6NC4XOGHBO3SQSZVUXTSK5OZZH2JU5W3THSQHYU4XAC
NQPGIRXXVS356MRCPVTV4LCCMUEOVHGCQGXJNPJTSK6HGLYZJKEQC
U55WNIDPCBAADLBSZXWUV6C3LVCILRWNDFJ7S3OJKL2WAWK2FLZAC
MHVIT4JYWUYD4UCGB2AHLXWLX6B5SYE22BREERNGANT7RGGDUFOAC
NJXD2ABJHKH7MBAPEOXQRKC3RK2OVNRO4ND44SOZJECZGCGZK7KQC
OBOTGFG63VKMKWE7AGSTNPDCJ42FGFDIVY6XYLJLS275Y7OE3FSQC
BRAESISHTN4IIWUBVDMPDMY7QLMJDKX7GQ7K6NSJN66L5VPWSX3QC
7LWB2J2ZFB4XJDN5MBL2WDKVBRYQD7Y6RQU7LUYKH7PZTXK2H7KQC
7KLHBDYAWCWHC4ID5UM3JW2IEEMFY6QA2MXMDTRC3O3ENCPN2OJAC
24BMQDZAWDQ7VNIA7TIROXSOYLOJBNZ2E4264WHWNJAEN6ZB3UOAC
DKR2GXSAVIZGOR3HEAD46SZWTRXJO2EH43H57P2365Y5M2QCQHDAC
EBJP3MNAC4CRYGMJJHMKUYWTXP3N4WMMORRLDSDHQVF5ZLOTIENQC
IWB3F4Z6QZYHQFJ6FWZTGWLCPBYEUTFLUS3F7QT7JOA4DV4YLYGAC
GS4BE6TB6GH2JUZJHDPHL6YG7J7YYESF3YOZJZ2CFABXUTO4VYPQC
DWFTK56EAGNPSKWWWY5MFPATQWO5PZGHF5D53JOEJ2DG5NLLYRBQC
PLOZBRTR6USSGJX7GR2RZKNPVYG2Q6QM7LW6IA35MKL63ZTQVD7QC
XV4AEKJCFTNCOR52IRFYHORCNNFKIHOADIUARTC2U5Z6ZQBEEFYQC
VQISTKOPNAEUS2K2F73CMNNLGZATWUYIURD5CSVNBNF7Q5ZF4PXQC
MSIHMO45JO5V5ICZ7SKVWH6CLINKQY3UTA7274Q5OZCKPRX7SUNQC
ZK76B5ZZCEOJQUDOVKDZPE6IN2YIXQONFUIJ633OAXNC73OG3YSAC
WV4SSAIYM4SVBQ2VISDTAXQJCPKRGTLSVFH44CQFEMC4COWG5OKQC
RND7XFNHXVORJ6JPEHGS7PCIW7DMOTWMZQPTEMXWLR7CZUQ2VCQQC
FJEK6FVUA2QLNIIOH542TLP3PGAOH6K3C5MEFGCMF6H7WB2HJIPAC
YTJBED7G2NXJJGWWXC3TM7PXLQF7ZYBLLAGVF44DWB5G73SBIIJAC
YTAYNN7VNYZNLGUSGY3EF33MGQWMJW76FKV657SBKASQFQC7EB3AC
WDGARQ76X6RLSFPJTW52BZYFKBC7DPSTABI7HHIKNYHBYXSUNTHQC
2DNPZFPNI2OM5FKYTC2KE5NKKKAP45AQ2VDDYLZZHCJ35X3EBJRQC
73YR46NJNYZQKHA3QDJCAZYAKC2CGEF5LIS44NOIPDZU6FX6BDPQC
EJJCY263UXP4F2NAHOARQRBV2V2Z7MK7474RFNOD6LDYTCPMWIPQC
FJ5H26J66SSQBDNQTKOFKGOKND2IBZLGVAR3CIANKZLTQNELTTVAC
IKJBYIGY3JABFXD2KOAQNA52ULE6VR4PBFKHWAHHBITXX5KC76MAC
ACBS7C6QGXAMPLQ336WAQMMGLZXBDNNYPE26ZBPUQ24GL4BF643AC
ZPHREC7X2TVM4OQJGTPA3Y3WOOJGTV3RXSPRI2ZFTZKIPIRRCUYQC
N22GPKYTOLZLBGTGDATQDVZ4R5APZEAOIA7L32X4UXBH4XNI7MWAC
3VRZBVFXHS5W4UWQIMDBTSI2EI3N4AJOAW2Z5ZO3M26WJGCC3CXQC
Q6VFUIC6XO46PDXITZ72E7V4ATKA2PWO7USK37NTCO2LBKNGCFYAC
// FIXME: keep stats about aborted steps?
nrStepsDone++;
totalStepTime += stepStopTime - stepStartTime;
totalStepBuildTime += result.stopTime - result.startTime;
machine->state->nrStepsDone++;
machine->state->totalStepTime += stepStopTime - stepStartTime;
machine->state->totalStepBuildTime += result.stopTime - result.startTime;
/* If there are no builds left, delete all referring
steps from ‘steps’. As for the success case, we can
be certain no new referrers can be added. */
if (indirect.empty()) {
for (auto & s : steps) {
printMsg(lvlDebug, "finishing build step ‘%s’",
localStore->printStorePath(s->drvPath));
steps_->erase(s->drvPath);
/* Create failed build steps for every build that
depends on this, except when this step is cached
and is the top-level of that build (since then it's
redundant with the build's isCachedBuild field). */
for (auto & build : indirect) {
if ((result.stepStatus == bsCachedFailure && build->drvPath == step->drvPath) ||
((result.stepStatus != bsCachedFailure && result.stepStatus != bsUnsupported) && buildId == build->id) ||
build->finishedInDB)
continue;
createBuildStep(txn,
0, build->id, step, machine ? machine->sshName : "",
result.stepStatus, result.errorMsg, buildId == build->id ? 0 : buildId);
/* Mark all builds that depend on this derivation as failed. */
for (auto & build : indirect) {
if (build->finishedInDB) continue;
printMsg(lvlError, format("marking build %1% as failed") % build->id);
txn.parameterized
("update Builds set finished = 1, buildStatus = $2, startTime = $3, stopTime = $4, isCachedBuild = $5, notificationPendingSince = $4 where id = $1 and finished = 0")
(build->id)
((int) (build->drvPath != step->drvPath && result.buildStatus() == bsFailed ? bsDepFailed : result.buildStatus()))
(result.startTime)
(result.stopTime)
(result.stepStatus == bsCachedFailure ? 1 : 0).exec();
nrBuildsDone++;
}
/* Remember failed paths in the database so that they
won't be built again. */
if (result.stepStatus != bsCachedFailure && result.canCache)
for (auto & path : step->drv->outputPaths())
txn.parameterized("insert into FailedPaths values ($1)")(localStore->printStorePath(path)).exec();
}
(localStore->printStorePath(drvPath))
(localStore->printStorePath(step->drvPath))
(step->drv->platform)
@cmd = ("hydra-eval-jobs",
"<" . $nixExprInputName . "/" . $nixExprPath . ">",
"--gc-roots-dir", getGCRootsDir,
"--max-jobs", 1,
inputsToArgs($inputInfo));
}