| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
For some reason which I haven't been able to debug yet, the legacy SSH
remote store protocol is way faster when it comes to copying files.
To cope with this for now, we now use the legacy protocol for copying
and the new protocol for the actual remote build.
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
| |
`runCommandLocal` was added to nixpkgs in
https://github.com/NixOS/nixpkgs/pull/74642
to speed up trivial `runCommand` derivations by always building them
locally. We have a few places where that’s good to use.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If taalo-build is used on a Nix expression returning multiple
derivations either by a list or an attribute set, nix-instantiate will
return multiple paths.
Quoting the argument to "nix-store -r" however will pass the newline-
separated files returned by nix-instantiate as one big file name, which
in turn causes the realize to fail.
Removing those quotes doesn't have this problems and we also don't get
into trouble because those paths are under our control and don't contain
spaces or tabs (which would then be splitted by the shell).
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I refactored the two tools a while ago but eventually rendered
taalo-realize useless, because it doesn't copy the derivation to realize
to the remote host.
This is done now, plus the taalo-build command now makes sure that we
instantiate on the local machine, thus speeding up builds a lot (except
maybe if the local host is under very high load).
In addition I added an indirect gcroot inside a temporary directory, so
that we don't get into a race condition when garbage collecting between
instantiate and realize.
Instead of nix-copy-closure, I now use "nix copy", which properly
supports the ssh-ng store backend. However I didn't use "nix build" and
friends, because these commands still lack a few features.
Signed-off-by: aszlig <aszlig@nix.build>
|
|
We no longer use the legacy SSH store protocol for taalo but the new
ssh-ng protocol, which makes the implementation of taalo-build a LOT
less clunky.
It also didn't make sense to have this as a NixOS module when we after
all just emit a static store path without any stuff depending on
configuration options.
The new implementation basically just wraps nix-build and nix-store -r
along with the right NIX_REMOTE variable.
With Nix 1.2 this can also be done with the new "nix build" command
using the --store option, but unfortunately "nix build" doesn't yet have
the same functionality as nix-build.
Signed-off-by: aszlig <aszlig@nix.build>
Cc: @Profpatsch, @bendlas
|