| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Nix 1.12 already got rid of most of the Perl stuff so the Perl script
backing taalo-build doesn't work anymore because Nix/CopyClosure.pm is
no longer available.
One way to fix this properly is to part the backend to C++ and use the
new ssh-ng store backend. This would also have the advantage that we
don't need to hardcode protocol internals here anymore.
Unfortunately, Nix 1.12 isn't stable yet and we would break Nix 1.11 if
we use the new store API.
So that's why I'm pinning the backend to use Nix 1.11 instead and leave
that ugly Perl script until Nix 1.2 is stable.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
|
| |
If the nix-instantiate step in taalo-build should fail, we want it to
fail altogether rather than just going on and bailing out very late
(with an exit status of 0) when the readlink call fails.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Regression introduced by fba5c2469bd5e95857c4ffd9db3dd0529f2485f3.
The derivation paths returned by nix-instantiate are usually valid store
paths, except when used with --add-root. In case of the latter, we get
the root symlink back, so we need to do an additional readlink on it.
We also now pass -t to mktemp so that $TMPDIR or /tmp is used instead of
the current working directory.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
| |
This is needed to ensure that the .drv file doesn't get garbage
collected while we're transferring it to taalo.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
| |
We need to split off the !output from the derivation name returned by
nix-instantiate, because we can't realize such a path.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With just taalo-build we can't realize plain .drv files, so let's use
the Perl part to just realize the derivations given by the command line
and provide two shell script wrappers on top of it:
* taalo-build: Similar to nix-build
* taalo-realize: Similar to nix-store -r
Having a command like taalo-realize is very useful if evaluation is done
on a different machine and the closure is just copied over to the local
machine before being sent to taalo.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
|
| |
As I'm moving away the deployment from mmrnmhrm, it's not a very good
idea to rely on the deployment machine being up, which also makes it two
machines that need to be up in order to build from tishtushi.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
This is primarily for whenever I'm on the road with varying degrees of
internet connectivity.
What it essentially does is ssh to mmrnmhrm, then ssh to taalo and then
run nix-store --serve --write on it. Taalo is the Hydra master of
https://headcounter.org/hydra/ and it has remote builds enabled.
The script essentially only builds on the remote host but doesn't fetch
the builds. The latter can be done if the Hydra is added as a build
cache to the local system, which in case of vuizvui is by default.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|