about summary refs log tree commit diff
path: root/src/build-remote/build-remote.cc (follow)
AgeCommit message (Collapse)AuthorFilesLines
2017-07-03 Replace a few bool flags with enumsEelco Dolstra1-2/+2
Functions like copyClosure() had 3 bool arguments, which creates a severe risk of mixing up arguments. Also, implement copyClosure() using copyPaths().
2017-05-08 build-remote: Check remote build statusEelco Dolstra1-1/+4
2017-05-02 build-remote: Fix fallback to other machines when connecting failsEelco Dolstra1-0/+1
Opening an SSHStore or LegacySSHStore does not actually establish a connection, so the try/catch block here did nothing. Added a Store::connect() method to test whether a connection can be established.
2017-05-02 Add an option for specifying remote buildersEelco Dolstra1-8/+3
This is useful for one-off situations where you want to specify a builder on the command line instead of having to mess with nix.machines. E.g. $ nix-build -A hello --argstr system x86_64-darwin \ --option builders 'root@macstadium1 x86_64-darwin' will perform the specified build on "macstadium1". It also removes the need for a separate nix.machines file since you can specify builders in nix.conf directly. (In fact nix.machines is yet another hack that predates the general nix.conf configuration file, IIRC.) Note: this option is supported by the daemon for trusted users. The fact that this allows trusted users to specify paths to SSH keys to which they don't normally have access is maybe a bit too much trust...
2017-05-02 Factor out machines.conf parsingEelco Dolstra1-87/+8
This allows hydra-queue-runner to use it.
2017-05-02 build-hook: If there are no machines defined, quit permanentlyEelco Dolstra1-0/+5
2017-05-02 build-remote: Ugly hackery to get build logs to workEelco Dolstra1-1/+1
The build hook mechanism expects build log output to go to file descriptor 4, so do that.
2017-05-01 build-remote: Don't require signaturesEelco Dolstra1-2/+2
This restores the old behaviour.
2017-05-01 Support arbitrary store URIs in nix.machinesEelco Dolstra1-33/+44
For backwards compatibility, if the URI is just a hostname, ssh:// (i.e. LegacySSHStore) is prepended automatically. Also, all fields except the URI are now optional. For example, this is a valid nix.machines file: local?root=/tmp/nix This is useful for testing the remote build machinery since you don't have to mess around with ssh.
2017-05-01 Remove $NIX_BUILD_HOOK and $NIX_CURRENT_LOADEelco Dolstra1-1/+3
This is to simplify remote build configuration. These environment variables predate nix.conf. The build hook now has a sensible default (namely build-remote). The current load is kept in the Nix state directory now.
2017-05-01 build-remote: Don't copy the .drv closureEelco Dolstra1-2/+5
Since build-remote uses buildDerivation() now, we don't need to copy the .drv file anymore. This greatly reduces the set of input paths copied to the remote side (e.g. from 392 to 51 store paths for GNU hello on x86_64-darwin).
2017-05-01 Pass verbosity level to build hookEelco Dolstra1-3/+6
2017-03-16 ssh:// -> ssh-ng://, legacy-ssh:// -> ssh://Eelco Dolstra1-1/+1
2017-03-16 copyPaths(): Use queryValidPaths() to reduce SSH latencyEelco Dolstra1-6/+10
2017-03-03 build-remote: Don't use a SSH masterEelco Dolstra1-1/+3
This is unnecessary because we make only one connection.
2017-03-03 build-remote: Fix passing SSH keyEelco Dolstra1-1/+1
2017-03-03 build-remote: Misc cleanupEelco Dolstra1-48/+41
2017-02-07 Merge branch 'nix-copy-closure-c++' of https://github.com/shlevy/nixEelco Dolstra1-1/+0
2017-01-26 openLockFile: Return an AutoCloseFDEelco Dolstra1-2/+2
2017-01-24 Hopefully fix build on older GCCEelco Dolstra1-3/+5
http://hydra.nixos.org/build/46805140
2017-01-24 Fix typoEelco Dolstra1-1/+1
2017-01-24 build-remote: Use futimes instead of futimens on APPLEShea Levy1-0/+7
2017-01-20 nix-copy-closure: Implement in C++.Shea Levy1-1/+0
Tests fail currently because the database is not given proper hashes in the VM
2017-01-10 build-remote: Don't use C++ streams to read the conf fileShea Levy1-29/+29
2017-01-10 build-remote: Use std::set for feature setsShea Levy1-18/+14
2016-11-10 build-remote: replace strtoull with stoull to take advantage of C++ error ↵Shea Levy1-2/+2
handling
2016-11-10 build-remote: Implement in C++Shea Levy1-0/+280