aboutsummaryrefslogtreecommitdiff
path: root/tests/failing.nix
diff options
context:
space:
mode:
authorMaximilian Bosch <maximilian@mbosch.me>2021-08-23 23:47:29 +0200
committerMaximilian Bosch <maximilian@mbosch.me>2021-08-31 13:11:46 +0200
commit50edbc4ddf1f32fbf30ecaa7222beadf10947f5e (patch)
treecfe102a89148c7b025469d5f24b358de1685f085 /tests/failing.nix
parentaf94b54db3a2be100731a215cb5e95f306471731 (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.nix22
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
+ '';
+ };
+}