hydra-queue-runner: Support running in a NixOS container
[?]
Sep 25, 2019, 3:26 PM
2GRQJZT6YNH32ZAXX3OALH7Z3XU3YTPH4SBTMG5ZZ373KHYFXZ7ACDependencies
- [2]
PW4TLMWSSync with latest Nix - [3]
G7KWXSFMDistinguish build step states - [4]
2BPAQMDHhydra-queue-runner: better error message if nix-store can not be started - [5]
VZKB5CIEWorkaround for RemoteStore not supporting cmdBuildDerivation yet - [6]
PLA4FYMZFix regression caused by ee2e9f53 - [7]
EFWDY2V7Support testing build determinism - [8]
5CNQUQ77Bump Nix - [9]
BYVRA54QTemporarily disable machines on any exception, not just connection failures - [10]
FITVNQ2SKeep track of the time we spend copying to/from build machines - [11]
73YR46NJhydra-queue-runner: Write directly to a binary cache - [12]
LSUX6IQRUpdate to latest nixUnstable - [13]
EVSK5TBBFix version test - [14]
SL3WSRAChydra-queue-runner: Limit memory usage - [15]
BG6PEOB2Make the output size limit configurable - [16]
4VYY2ADPAllow the machines file to specify host public keys - [17]
IKJBYIGYUpdate to reflect BinaryCacheStore changes - [18]
7VQ4ALFYUpdate "make check" for the new queue runner - [19]
5AIYUMTBBasic remote building - [*]
HJOEIMLRRefactor
Change contents
- replacement in src/hydra-queue-runner/build-remote.cc at line 51
if (machine->sshName == "localhost") {if (machine->isLocalhost()) { - replacement in src/hydra-queue-runner/build-remote.cc at line 193
if (GET_PROTOCOL_MINOR(remoteVersion) >= 1)// Always send the derivation to localhost, since it's a// no-op anyway but we might not be privileged to use// cmdBuildDerivation (e.g. if we're running in a NixOS// container).if (GET_PROTOCOL_MINOR(remoteVersion) >= 1 && !machine->isLocalhost()) - replacement in src/hydra-queue-runner/build-remote.cc at line 243
copyClosure(ref<Store>(localStore), destStore, step->drv.inputSrcs, NoRepair, NoCheckSigs);if (localStore != std::shared_ptr<Store>(destStore))copyClosure(ref<Store>(localStore), destStore, step->drv.inputSrcs, NoRepair, NoCheckSigs); - replacement in src/hydra-queue-runner/build-remote.cc at line 247
if (/* machine->sshName != "localhost" */ true) {if (!machine->isLocalhost()) { - replacement in src/hydra-queue-runner/build-remote.cc at line 389
if (/* machine->sshName != "localhost" */ true) {result.accessor = destStore->getFSAccessor();if (!machine->isLocalhost() || localStore != std::shared_ptr<Store>(destStore)) { - edit in src/hydra-queue-runner/build-remote.cc at line 436
result.accessor = destStore->getFSAccessor(); - edit in src/hydra-queue-runner/state.hh at line 277[21.4328][21.4328]
bool isLocalhost(){return sshName == "localhost";}