Process Nix API changes

[?]
Feb 11, 2016, 2:59 PM
DKJFD6JNNK5LJMRGQABMJZKMFZLGY3ADKJWF6J4BBHEUPY3NB67QC

Dependencies

  • [2] D6VR5FYG * Fix hydra_eval_jobs.
  • [3] H7SZRHUB Use nix::willBuildLocally()
  • [4] RND7XFNH getQueuedBuilds(): Periodically stop to handle priority bumps
  • [5] 3PNG7NIB Remove trailing whitespace
  • [6] 4LWGZL33
  • [7] 7GKAIP3V Fix build and handling of string inputs starting with a dash
  • [8] 5AIYUMTB Basic remote building
  • [9] CNLNT3T4 Allow only 1 thread to send a closure to a given machine at the same time
  • [10] 77VF5TC6 * For ease of use during debugging, don't require --gc-roots-dir.
  • [11] OG3Z3QGC Namespace cleanup
  • [12] A2GL5FOZ Moar stats
  • [13] 24BMQDZA Start of single-process hydra-queue-runner
  • [14] TPNHTE5V Remove obsolete Builds columns and provide accurate "Running builds"
  • [15] N4IROACV Move buildRemote() into State
  • [16] AYMPPH7G Don't write one character at a time, it's inefficient
  • [17] 7VQ4ALFY Update "make check" for the new queue runner
  • [18] ACBS7C6Q hydra-queue-runner: Detect changes to the scheduling shares
  • [19] AEFNBIIW * Merge the GC branch.
  • [20] MB3TISH2 Rate-limit the number of threads copying closures at the same time
  • [21] HJOEIMLR Refactor
  • [22] MIC2O6ZF Use evalFile() instead of parseExprFromFile()
  • [23] YHP5DSOO Improve parsing of hydra-build-products
  • [24] WE5Q2NVI Allow build to be bumped to the front of the queue via the web interface
  • [25] AEKIREIH * Updated hydra_eval_jobs for the new evaluator.
  • [26] EJJCY263 Account steps with preferLocalBuild as a separate system type
  • [27] PQFOMNTL hydra-queue-runner: More stats
  • [28] T5BIOVJE Add support for tracking custom metrics
  • [29] UYUVQWXQ Fix hydra-queue-runner --build-one
  • [30] YR2IM6Y5 Temporarily disable machines after a connection failure
  • [31] NAYQT2GT hydra-queue-runner: Use cmdBuildDerivation
  • [32] WMWBCZPR
  • [33] 4N5APGRG * Start of a helper tool to evaluate job expressions efficiently.
  • [34] MHVIT4JY Split hydra-queue-runner.cc more
  • [35] FHXU6346 hydra-eval-jobs: Pass all inputs as 'inputs' arg.
  • [36] NJJ7H64S Very basic multi-threaded queue runner
  • [37] A63IHCMX * Register GC roots properly.
  • [38] 6TY4LNHH Finish copyClosure
  • [39] IWB3F4Z6 Fail builds with previously failed steps early
  • [40] EYR3EW6J Keep stats for the Hydra auto scaler
  • [41] VQISTKOP hydra-queue-runner: Use substitutes

Change contents

  • replacement in src/hydra-eval-jobs/hydra-eval-jobs.cc at line 156
    [5.104][2.0:82]()
    if (!pathExists(root)) addPermRoot(*store, drvPath, root, false);
    [5.104]
    [5.178]
    if (!pathExists(root)) state.store->addPermRoot(drvPath, root, false);
  • replacement in src/hydra-eval-jobs/hydra-eval-jobs.cc at line 256
    [5.811][5.1367:1404]()
    EvalState state(searchPath);
    [5.811]
    [5.880]
    EvalState state(searchPath, openStore());
  • edit in src/hydra-eval-jobs/hydra-eval-jobs.cc at line 283
    [5.1625][5.1897:1926](),[5.1926][5.0:1](),[5.2897][5.0:1]()
    store = openStore();
  • edit in src/hydra-queue-runner/build-remote.cc at line 7
    [5.220][5.220:239]()
    #include "misc.hh"
  • replacement in src/hydra-queue-runner/build-remote.cc at line 76
    [5.1290][5.1290:1349]()
    static void copyClosureTo(std::shared_ptr<StoreAPI> store,
    [5.1290]
    [5.1349]
    static void copyClosureTo(ref<Store> store,
  • replacement in src/hydra-queue-runner/build-remote.cc at line 83
    [5.1492][5.1492:1541]()
    computeFSClosure(*store, path, closure);
    [5.1492]
    [5.1593]
    store->computeFSClosure(path, closure);
  • replacement in src/hydra-queue-runner/build-remote.cc at line 98
    [5.83][5.83:134]()
    Paths sorted = topoSortPaths(*store, closure);
    [5.83]
    [5.134]
    Paths sorted = store->topoSortPaths(closure);
  • replacement in src/hydra-queue-runner/build-remote.cc at line 110
    [5.91][5.320:365](),[5.320][5.320:365]()
    exportPaths(*store, missing, false, to);
    [5.91]
    [5.365]
    store->exportPaths(missing, false, to);
  • replacement in src/hydra-queue-runner/build-remote.cc at line 118
    [5.2443][5.2443:2504]()
    static void copyClosureFrom(std::shared_ptr<StoreAPI> store,
    [5.2443]
    [5.149]
    static void copyClosureFrom(ref<Store> store,
  • replacement in src/hydra-queue-runner/build-remote.cc at line 130
    [5.2721][5.116:173]()
    void State::buildRemote(std::shared_ptr<StoreAPI> store,
    [5.2721]
    [5.173]
    void State::buildRemote(ref<Store> store,
  • edit in src/hydra-queue-runner/build-result.cc at line 3
    [5.493][5.493:512]()
    #include "misc.hh"
  • replacement in src/hydra-queue-runner/build-result.cc at line 24
    [5.555][5.2002:2086]()
    BuildOutput getBuildOutput(std::shared_ptr<StoreAPI> store, const Derivation & drv)
    [5.555]
    [5.606]
    BuildOutput getBuildOutput(nix::ref<Store> store, const Derivation & drv)
  • replacement in src/hydra-queue-runner/build-result.cc at line 34
    [5.824][5.824:875]()
    computeFSClosure(*store, output, closure);
    [5.824]
    [5.875]
    store->computeFSClosure(output, closure);
  • replacement in src/hydra-queue-runner/build-result.hh at line 40
    [5.4741][5.2129:2224]()
    BuildOutput getBuildOutput(std::shared_ptr<nix::StoreAPI> store, const nix::Derivation & drv);
    [5.4741]
    BuildOutput getBuildOutput(nix::ref<nix::Store> store, const nix::Derivation & drv);
  • replacement in src/hydra-queue-runner/builder.cc at line 48
    [5.1479][5.1479:1552]()
    bool State::doBuildStep(std::shared_ptr<StoreAPI> store, Step::ptr step,
    [5.1479]
    [5.1552]
    bool State::doBuildStep(nix::ref<Store> store, Step::ptr step,
  • replacement in src/hydra-queue-runner/builder.cc at line 357
    [5.13251][5.13251:13314]()
    for (auto & path : outputPaths(step->drv))
    [5.13251]
    [5.13314]
    for (auto & path : step->drv.outputPaths())
  • replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 362
    [5.1390][5.1390:1437]()
    for (auto & path : outputPaths(step->drv))
    [5.1390]
    [5.1437]
    for (auto & path : step->drv.outputPaths())
  • edit in src/hydra-queue-runner/queue-monitor.cc at line 4
    [5.1279][3.58:77]()
    #include "misc.hh"
  • replacement in src/hydra-queue-runner/queue-monitor.cc at line 66
    [5.21512][4.203:311]()
    bool State::getQueuedBuilds(Connection & conn, std::shared_ptr<StoreAPI> store, unsigned int & lastBuildId)
    [5.21512]
    [5.21620]
    bool State::getQueuedBuilds(Connection & conn, ref<Store> store, unsigned int & lastBuildId)
  • replacement in src/hydra-queue-runner/queue-monitor.cc at line 317
    [5.29402][5.1403:1464]()
    Step::ptr State::createStep(std::shared_ptr<StoreAPI> store,
    [5.29402]
    [5.1464]
    Step::ptr State::createStep(ref<Store> store,
  • replacement in src/hydra-queue-runner/queue-monitor.cc at line 375
    [5.1][3.78:136]()
    step->preferLocalBuild = willBuildLocally(step->drv);
    [5.1]
    [5.197]
    step->preferLocalBuild = step->drv.willBuildLocally();
  • replacement in src/hydra-queue-runner/queue-monitor.cc at line 393
    [5.31904][5.1528:1574]()
    PathSet outputs = outputPaths(step->drv);
    [5.31904]
    [5.1574]
    PathSet outputs = step->drv.outputPaths();
  • replacement in src/hydra-queue-runner/state.hh at line 380
    [5.2260][4.792:903]()
    bool getQueuedBuilds(Connection & conn, std::shared_ptr<nix::StoreAPI> store, unsigned int & lastBuildId);
    [5.2260]
    [5.7732]
    bool getQueuedBuilds(Connection & conn, nix::ref<nix::Store> store, unsigned int & lastBuildId);
  • replacement in src/hydra-queue-runner/state.hh at line 385
    [5.7785][5.3337:3400]()
    Step::ptr createStep(std::shared_ptr<nix::StoreAPI> store,
    [5.7785]
    [5.3400]
    Step::ptr createStep(nix::ref<nix::Store> store,
  • replacement in src/hydra-queue-runner/state.hh at line 408
    [5.8377][5.1063:1138]()
    bool doBuildStep(std::shared_ptr<nix::StoreAPI> store, Step::ptr step,
    [5.8377]
    [5.8447]
    bool doBuildStep(nix::ref<nix::Store> store, Step::ptr step,
  • replacement in src/hydra-queue-runner/state.hh at line 411
    [5.8479][5.1816:1875]()
    void buildRemote(std::shared_ptr<nix::StoreAPI> store,
    [5.8479]
    [5.1875]
    void buildRemote(nix::ref<nix::Store> store,