Fix build

[?]
Aug 4, 2020, 9:33 AM
6NUK6AZAZLOKFHXPS74YV52B63Z4BYQMPY42VAU5ZEACMZ663M2QC

Dependencies

  • [2] SJTXNMXU Remove added strictness to allow multiple query returns.
  • [3] HTDANBLN Merge pull request #730 from NixOS/flake
  • [4] BOCPRQ6E Fix build against latest Nix
  • [5] QHO6IDC7 Fix build
  • [6] HPXFXHFS Remove SHA-1 hash from BuildProducts
  • [7] N3G7LLGE Get data needed by getBuildOutput() from the incoming NAR in a streaming fashion
  • [8] YTAYNN7V Queue monitor: Bail out earlier if a step has failed previously
  • [9] 2PQPKMG7 S3BinaryCacheStore: Use disk cache
  • [10] NJXD2ABJ Abort unsupported build steps
  • [11] VUYJ47EV hydra-eval-jobs: Parallelize
  • [12] WV4SSAIY Build against nix-master
  • [13] SL3WSRAC hydra-queue-runner: Limit memory usage
  • [14] NAYQT2GT hydra-queue-runner: Use cmdBuildDerivation
  • [15] BG6PEOB2 Make the output size limit configurable
  • [16] PQFOMNTL hydra-queue-runner: More stats
  • [17] XCDTFZUY hydra-queue-runner: Fix build
  • [18] MHVIT4JY Split hydra-queue-runner.cc more
  • [19] IKJBYIGY Update to reflect BinaryCacheStore changes
  • [20] BAFICF73 Support hydra-build-products on binary cache stores
  • [21] IWB3F4Z6 Fail builds with previously failed steps early
  • [22] DKJFD6JN Process Nix API changes
  • [23] YXYXJDMB hydra-queue-runner: Write GC roots for outputs paths
  • [24] ACBS7C6Q hydra-queue-runner: Detect changes to the scheduling shares
  • [25] 24BMQDZA Start of single-process hydra-queue-runner
  • [26] BYVRA54Q Temporarily disable machines on any exception, not just connection failures
  • [27] SOB276BA Keep some statistics for the binary cache stores
  • [28] EBJP3MNA Build against nix-master
  • [29] 3A7HTJZP Merge branch 'master' into libpqxx_undeprecate
  • [30] INVXGPNK Fix root creation when the root already exists but is owned by another user
  • [31] XLYHZUHT Cache .narinfo lookups
  • [32] 5AIYUMTB Basic remote building
  • [33] VQISTKOP hydra-queue-runner: Use substitutes
  • [34] WDGARQ76 Reuse build products / metrics stored in the database
  • [35] YSZQ3ORR Fix build
  • [36] ZK76B5ZZ Load the queue in order of global priority
  • [37] U55WNIDP Abort unsupported build steps
  • [38] BRAESISH Warn if PostgreSQL appears stalled
  • [39] H46LUUZY hydra-queue-runner: don't try to distribute builds on localhost
  • [40] T5BIOVJE Add support for tracking custom metrics
  • [41] DKR2GXSA Update libpqxx usage to move away from deprecated API interactions.
  • [42] OBOTGFG6 Prevent orphaned build steps
  • [43] 73YR46NJ hydra-queue-runner: Write directly to a binary cache
  • [44] NQPGIRXX Revert "hydra-eval-jobs -> nix eval-hydra-jobs"

Change contents

  • replacement in src/hydra-eval-jobs/hydra-eval-jobs.cc at line 456
    [8.13262][8.13262:13376]()
    std::string drvPath = job["drvPath"];
    auto drv = readDerivation(*store, drvPath);
    [8.13262]
    [8.13376]
    auto drvPath = store->parseStorePath((std::string) job["drvPath"]);
    auto drv = store->readDerivation(drvPath);
  • replacement in src/hydra-eval-jobs/hydra-eval-jobs.cc at line 463
    [8.13653][8.13653:13943]()
    std::string drvPath2 = (*job2)["drvPath"];
    auto drv2 = readDerivation(*store, drvPath2);
    job["constituents"].push_back(drvPath2);
    drv.inputDrvs[store->parseStorePath(drvPath2)] = {drv2.outputs.begin()->first};
    [8.13653]
    [8.13943]
    auto drvPath2 = store->parseStorePath((std::string) (*job2)["drvPath"]);
    auto drv2 = store->readDerivation(drvPath2);
    job["constituents"].push_back(store->printStorePath(drvPath2));
    drv.inputDrvs[drvPath2] = {drv2.outputs.begin()->first};
  • replacement in src/hydra-eval-jobs/hydra-eval-jobs.cc at line 469
    [8.13962][8.13962:14038]()
    std::string drvName(store->parseStorePath(drvPath).name());
    [8.13962]
    [8.14038]
    std::string drvName(drvPath.name());
  • replacement in src/hydra-eval-jobs/hydra-eval-jobs.cc at line 475
    [8.14370][5.56:147]()
    drv.outputs.insert_or_assign("out", DerivationOutput { .path = outPath });
    [8.14370]
    [8.14466]
    drv.outputs.insert_or_assign("out", DerivationOutput { .output = DerivationOutputInputAddressed { .path = outPath } });
  • replacement in src/hydra-eval-jobs/hydra-eval-jobs.cc at line 478
    [8.14562][8.14562:14647]()
    debug("rewrote aggregate derivation %s -> %s", drvPath, newDrvPath);
    [8.14562]
    [8.14647]
    debug("rewrote aggregate derivation %s -> %s", store->printStorePath(drvPath), newDrvPath);
  • replacement in src/hydra-queue-runner/build-remote.cc at line 263
    [8.1544][8.1544:1644]()
    Derivation drv2 = readDerivation(*localStore, localStore->printStorePath(input.first));
    [8.1544]
    [8.1980]
    auto drv2 = localStore->readDerivation(input.first);
  • replacement in src/hydra-queue-runner/build-remote.cc at line 265
    [8.2027][8.2027:2132](),[8.2132][8.938:1044]()
    auto i = drv2.outputs.find(name);
    if (i == drv2.outputs.end()) continue;
    inputs.insert(i->second.path);
    basicDrv.inputSrcs.insert(i->second.path);
    [8.2027]
    [8.2238]
    if (auto i = get(drv2.outputs, name)) {
    auto outPath = i->path(*localStore, drv2.name);
    inputs.insert(outPath);
    basicDrv.inputSrcs.insert(outPath);
    }
  • replacement in src/hydra-queue-runner/build-remote.cc at line 437
    [8.2001][8.2649:2702]()
    auto outputs = step->drv->outputPaths();
    [8.2001]
    [8.46]
    auto outputs = step->drv->outputPaths(*localStore);
  • replacement in src/hydra-queue-runner/build-result.cc at line 19
    [8.666][8.3250:3288]()
    auto outputs = drv.outputPaths();
    [8.666]
    [8.3288]
    auto outputs = drv.outputPaths(*store);
  • replacement in src/hydra-queue-runner/build-result.cc at line 109
    [8.3446][8.3736:3806]()
    product.path = store->printStorePath(output.second.path);
    [8.3446]
    [8.3493]
    auto outPath = output.second.path(*store, drv.name);
    product.path = store->printStorePath(outPath);
  • replacement in src/hydra-queue-runner/build-result.cc at line 113
    [8.3606][8.3807:3861]()
    product.name = output.second.path.name();
    [8.3606]
    [8.3664]
    product.name = outPath.name();
  • replacement in src/hydra-queue-runner/build-result.hh at line 15
    [8.4510][6.0:26](),[6.26][8.4546:4570](),[8.4546][8.4546:4570]()
    nix::Hash sha256hash;
    off_t fileSize = 0;
    [8.4510]
    [8.4570]
    std::optional<nix::Hash> sha256hash;
    std::optional<off_t> fileSize;
  • replacement in src/hydra-queue-runner/builder.cc at line 277
    [8.5815][8.4855:4908]()
    for (auto & path : step->drv->outputPaths())
    [8.5815]
    [8.0]
    for (auto & path : step->drv->outputPaths(*localStore))
  • replacement in src/hydra-queue-runner/builder.cc at line 466
    [8.3635][4.0:61]()
    for (auto & path : step->drv->outputPaths())
    [8.3635]
    [8.653]
    for (auto & path : step->drv->outputPaths(*localStore))
  • replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 263
    [8.3373][8.866:866](),[8.866][8.867:960]()
    buildId, stepNr, output.first, localStore->printStorePath(output.second.path));
    [8.3373]
    [8.9238]
    buildId, stepNr, output.first, localStore->printStorePath(output.second.path(*localStore, step->drv->name)));
  • replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 415
    [8.5925][8.5925:6011](),[8.6122][8.6122:6235]()
    product.isRegular ? std::make_optional(product.fileSize) : std::nullopt,
    product.isRegular ? std::make_optional(product.sha256hash.to_string(Base16, false)) : std::nullopt,
    [8.5925]
    [8.6235]
    product.fileSize ? std::make_optional(*product.fileSize) : std::nullopt,
    product.sha256hash ? std::make_optional(product.sha256hash->to_string(Base16, false)) : std::nullopt,
  • replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 444
    [8.1390][4.139:188]()
    for (auto & path : step->drv->outputPaths())
    [8.1390]
    [8.1153]
    for (auto & path : step->drv->outputPaths(*localStore))
  • edit in src/hydra-queue-runner/hydra-queue-runner.cc at line 640
    [8.1741][8.1741:1797]()
    nested2.attr("putBytes", s3Stats.putBytes);
  • edit in src/hydra-queue-runner/hydra-queue-runner.cc at line 641
    [8.1855][8.1855:2019](),[8.2019][8.2830:2854](),[8.2830][8.2830:2854]()
    nested2.attr("putSpeed",
    s3Stats.putTimeMs
    ? (double) s3Stats.putBytes / s3Stats.putTimeMs * 1000.0 / (1024.0 * 1024.0)
    : 0.0);
  • replacement in src/hydra-queue-runner/nar-extractor.cc at line 42
    [7.4353][7.4353:4416]()
    void preallocateContents(unsigned long long size) override
    [7.4353]
    [7.4416]
    void preallocateContents(uint64_t size) override
  • replacement in src/hydra-queue-runner/nar-extractor.cc at line 48
    [7.4515][7.4515:4589]()
    void receiveContents(unsigned char * data, unsigned int len) override
    [7.4515]
    [7.4589]
    void receiveContents(unsigned char * data, size_t len) override
  • replacement in src/hydra-queue-runner/queue-monitor.cc at line 179
    [8.1276][4.258:324]()
    for (auto & output : ex.step->drv->outputs) {
    [8.1276]
    [8.8047]
    for (auto & output : ex.step->drv->outputPaths(*localStore)) {
  • replacement in src/hydra-queue-runner/queue-monitor.cc at line 182
    [8.8281][8.1410:1410](),[8.1410][8.1411:1489]()
    localStore->printStorePath(output.second.path));
    [8.8281]
    [8.1634]
    localStore->printStorePath(output));
  • replacement in src/hydra-queue-runner/queue-monitor.cc at line 221
    [8.24863][8.7288:7390]()
    Derivation drv = readDerivation(*localStore, localStore->printStorePath(build->drvPath));
    [8.24863]
    [8.0]
    auto drv = localStore->readDerivation(build->drvPath);
  • replacement in src/hydra-queue-runner/queue-monitor.cc at line 224
    [8.24983][8.251:301]()
    for (auto & path : drv.outputPaths())
    [8.24983]
    [8.269]
    for (auto & path : drv.outputPaths(*localStore))
  • replacement in src/hydra-queue-runner/queue-monitor.cc at line 430
    [8.31403][8.8336:8448]()
    step->drv = std::make_unique<Derivation>(readDerivation(*localStore, localStore->printStorePath(drvPath)));
    [8.31403]
    [8.2046]
    step->drv = std::make_unique<Derivation>(localStore->readDerivation(drvPath));
  • replacement in src/hydra-queue-runner/queue-monitor.cc at line 456
    [8.31904][8.8774:8819]()
    auto outputs = step->drv->outputPaths();
    [8.31904]
    [8.1574]
    auto outputs = step->drv->outputPaths(*localStore);
  • replacement in src/hydra-queue-runner/queue-monitor.cc at line 459
    [8.8860][3.68:68](),[3.68][8.12871:12925](),[8.8860][8.12871:12925](),[8.9367][8.12871:12925](),[8.1670][8.12871:12925]()
    if (!destStore->isValidPath(i.second.path)) {
    [8.8860]
    [8.31995]
    if (!destStore->isValidPath(i.second.path(*localStore, step->drv->name))) {
  • replacement in src/hydra-queue-runner/queue-monitor.cc at line 470
    [8.763][8.763:852]()
    if (/* localStore != destStore && */ localStore->isValidPath(i.second.path))
    [8.763]
    [8.852]
    auto path = i.second.path(*localStore, step->drv->name);
    if (/* localStore != destStore && */ localStore->isValidPath(path))
  • replacement in src/hydra-queue-runner/queue-monitor.cc at line 475
    [8.962][8.2214:2295]()
    localStore->querySubstitutablePathInfos({i.second.path}, infos);
    [8.962]
    [8.1043]
    localStore->querySubstitutablePathInfos({{path, {}}}, infos);
  • edit in src/hydra-queue-runner/queue-monitor.cc at line 484
    [8.2301]
    [8.2301]
    auto path = i.second.path(*localStore, step->drv->name);
  • replacement in src/hydra-queue-runner/queue-monitor.cc at line 489
    [8.1215][8.1215:1279]()
    if (localStore->isValidPath(i.second.path))
    [8.1215]
    [8.9624]
    if (localStore->isValidPath(path))
  • replacement in src/hydra-queue-runner/queue-monitor.cc at line 491
    [8.9716][8.9716:9787]()
    localStore->printStorePath(i.second.path),
    [8.9716]
    [8.9787]
    localStore->printStorePath(path),
  • replacement in src/hydra-queue-runner/queue-monitor.cc at line 495
    [8.9427][8.9427:9498]()
    localStore->printStorePath(i.second.path),
    [8.9427]
    [8.9498]
    localStore->printStorePath(path),
  • replacement in src/hydra-queue-runner/queue-monitor.cc at line 497
    [8.9564][3.72:72](),[3.72][8.1528:1591](),[8.9564][8.1528:1591](),[8.10071][8.1528:1591](),[8.1528][8.1528:1591]()
    localStore->ensurePath(i.second.path);
    [8.9564]
    [8.1591]
    localStore->ensurePath(path);
  • replacement in src/hydra-queue-runner/queue-monitor.cc at line 501
    [8.1700][8.2296:2381]()
    copyClosure(ref<Store>(localStore), destStore, {i.second.path});
    [8.1700]
    [8.2442]
    copyClosure(ref<Store>(localStore), destStore, {path});
  • replacement in src/hydra-queue-runner/queue-monitor.cc at line 508
    [8.2661][8.2661:2773]()
    createSubstitutionStep(txn, startTime, stopTime, build, drvPath, "out", i.second.path);
    [8.2661]
    [8.2773]
    createSubstitutionStep(txn, startTime, stopTime, build, drvPath, "out", path);
  • replacement in src/hydra-queue-runner/queue-monitor.cc at line 514
    [8.10260][8.10260:10327]()
    localStore->printStorePath(i.second.path),
    [8.10260]
    [8.10327]
    localStore->printStorePath(path),
  • replacement in src/hydra-queue-runner/queue-monitor.cc at line 620
    [8.240][8.240:280]()
    for (auto & output : drv.outputs) {
    [8.240]
    [2.0]
    for (auto & output : drv.outputPaths(*localStore)) {
  • replacement in src/hydra-queue-runner/queue-monitor.cc at line 625
    [8.9180][8.1491:1491](),[8.1491][8.1492:1554]()
    localStore->printStorePath(output.second.path));
    [8.9180]
    [8.585]
    localStore->printStorePath(output));