hydra-queue-runner: Fix build
[?]
Oct 6, 2016, 1:24 PM
XCDTFZUYSOYEARMJCV4ORVQWG2VWZQ43HU2U63RBECP53OSCM2GQCDependencies
- [2]
6IB23Y3YKeep machine stats even when a machine is removed from the machines file - [3]
25MFPBZVKeep track of time required to load builds - [4]
BYVRA54QTemporarily disable machines on any exception, not just connection failures - [5]
2PQPKMG7S3BinaryCacheStore: Use disk cache - [6]
24BMQDZAStart of single-process hydra-queue-runner - [7]
5AIYUMTBBasic remote building - [8]
WKJFPR77hydra-queue-runner: Maintain count of active build steps - [9]
PLOZBRTRAdd command ‘hydra-queue-runner --status’ to show current status - [10]
6TY4LNHHFinish copyClosure - [11]
IK2UBDAURevive jobset scheduling - [12]
TTBLPQAJKeep track of wait time per system type - [13]
NTEDD7T4Provide a plugin hook for when build steps finish - [14]
SL3WSRAChydra-queue-runner: Limit memory usage - [15]
BRAESISHWarn if PostgreSQL appears stalled - [16]
SOB276BAKeep some statistics for the binary cache stores - [17]
FITVNQ2SKeep track of the time we spend copying to/from build machines - [18]
BAFICF73Support hydra-build-products on binary cache stores - [19]
GS4BE6TBAsynchronously compress build logs - [20]
EYR3EW6JKeep stats for the Hydra auto scaler - [21]
5Q7X5FPJhydra-queue-runner: Improve SSH flags - [22]
DIEY5USNKeep better bytesReceived/bytesSent stats - [23]
NAYQT2GThydra-queue-runner: Use cmdBuildDerivation - [24]
ZSBPKI2PPass ssh key - [25]
ENXUSMSVMake concurrency more robust - [26]
7VQ4ALFYUpdate "make check" for the new queue runner - [27]
4VYY2ADPAllow the machines file to specify host public keys - [28]
DKJFD6JNProcess Nix API changes - [29]
K5G5GZY7Guard against concurrent invocations of hydra-queue-runner - [30]
SODOV2CMAutomatically reload $NIX_REMOTE_SYSTEMS when it changes - [31]
73YR46NJhydra-queue-runner: Write directly to a binary cache - [32]
HJOEIMLRRefactor
Change contents
- replacement in src/hydra-queue-runner/build-remote.cc at line 38
if (dup2(to.readSide, STDIN_FILENO) == -1)if (dup2(to.readSide.get(), STDIN_FILENO) == -1) - replacement in src/hydra-queue-runner/build-remote.cc at line 41
if (dup2(from.writeSide, STDOUT_FILENO) == -1)if (dup2(from.writeSide.get(), STDOUT_FILENO) == -1) - replacement in src/hydra-queue-runner/build-remote.cc at line 70
to.readSide.close();from.writeSide.close();to.readSide = -1;from.writeSide = -1; - replacement in src/hydra-queue-runner/build-remote.cc at line 73
child.to = to.writeSide.borrow();child.from = from.readSide.borrow();child.to = to.writeSide.release();child.from = from.readSide.release(); - replacement in src/hydra-queue-runner/build-remote.cc at line 96
auto present = readStorePaths<PathSet>(from);auto present = readStorePaths<PathSet>(*destStore, from); - replacement in src/hydra-queue-runner/build-remote.cc at line 128
AutoCloseFD logFD(open(result.logFile.c_str(), O_CREAT | O_TRUNC | O_WRONLY, 0666));if (logFD == -1) throw SysError(format("creating log file ‘%1%’") % result.logFile);AutoCloseFD logFD = open(result.logFile.c_str(), O_CREAT | O_TRUNC | O_WRONLY, 0666);if (!logFD) throw SysError(format("creating log file ‘%1%’") % result.logFile); - replacement in src/hydra-queue-runner/build-remote.cc at line 137
openConnection(machine, tmpDir, logFD, child);openConnection(machine, tmpDir, logFD.get(), child); - replacement in src/hydra-queue-runner/build-remote.cc at line 139
logFD.close();logFD = -1; - replacement in src/hydra-queue-runner/build-remote.cc at line 141
FdSource from(child.from);FdSink to(child.to);FdSource from(child.from.get());FdSink to(child.to.get()); - replacement in src/hydra-queue-runner/build-remote.cc at line 371
child.to.close();child.to = -1; - replacement in src/hydra-queue-runner/build-result.cc at line 68
if (!isInStore(product.path)) continue;if (!store->isInStore(product.path)) continue; - replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 14
#include "value-to-json.hh"#include "json.hh"#include "s3-binary-cache-store.hh" - replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 455
if (dup2(fd, STDOUT_FILENO) == -1)if (dup2(fd.get(), STDOUT_FILENO) == -1) - replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 586
root.attr("buildReadTimeAvgMs", nrBuildsRead == 0 ? 0.0 : (float) buildReadTimeMs / nrBuildsRead);root.attr("buildReadTimeAvgMs", nrBuildsRead == 0 ? 0.0 : (float) buildReadTimeMs / nrBuildsRead); - replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 607
root.attr("machines");JSONObject nested(out);auto nested = root.object("machines"); - replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 612
nested.attr(m->sshName);JSONObject nested2(out);auto nested2 = nested.object(m->sshName); - replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 633
root.attr("jobsets");JSONObject nested(out);auto nested = root.object("jobsets"); - replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 636
nested.attr(jobset.first.first + ":" + jobset.first.second);JSONObject nested2(out);auto nested2 = nested.object(jobset.first.first + ":" + jobset.first.second); - replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 643
root.attr("machineTypes");JSONObject nested(out);auto nested = root.object("machineTypes"); - replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 646
nested.attr(i.first);JSONObject nested2(out);auto nested2 = nested.object(i.first); - replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 659
root.attr("store");JSONObject nested(out);auto nested = root.object("store"); - replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 686
nested.attr("s3");JSONObject nested2(out);auto nested2 = nested.object("s3");