diff options
author | Maximilian Bosch <maximilian@mbosch.me> | 2021-08-23 23:47:29 +0200 |
---|---|---|
committer | Maximilian Bosch <maximilian@mbosch.me> | 2021-08-31 13:11:46 +0200 |
commit | 50edbc4ddf1f32fbf30ecaa7222beadf10947f5e (patch) | |
tree | cfe102a89148c7b025469d5f24b358de1685f085 /tests/failing.nix | |
parent | af94b54db3a2be100731a215cb5e95f306471731 (diff) |
nix-store --serve: pass on `settings.keepFailed` from SSH store
When doing e.g.
nix-build -A package --keep-failed --option \
builders \
'ssh://mfhydra?remote-store=/home/bosch/store x86_64-linux - 10 4 big-parallel'
this doesn't work properly because this build-setting is ignored.
I changed this behavior by passing the `settings.keepFailed` through the
serve-protocol to remote machines to make sure that I can introspect the
build-directory (which is particularly helpful when I have to look at a
`config.log` from a failed build for instance).
Diffstat (limited to 'tests/failing.nix')
-rw-r--r-- | tests/failing.nix | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/failing.nix b/tests/failing.nix new file mode 100644 index 000000000..2a0350d4d --- /dev/null +++ b/tests/failing.nix @@ -0,0 +1,22 @@ +{ busybox }: +with import ./config.nix; +let + + mkDerivation = args: + derivation ({ + inherit system; + builder = busybox; + args = ["sh" "-e" args.builder or (builtins.toFile "builder-${args.name}.sh" "if [ -e .attrs.sh ]; then source .attrs.sh; fi; eval \"$buildCommand\"")]; + } // removeAttrs args ["builder" "meta"]) + // { meta = args.meta or {}; }; +in +{ + + failing = mkDerivation { + name = "failing"; + buildCommand = '' + echo foo > bar + exit 1 + ''; + }; +} |