about summary refs log tree commit diff
path: root/ci-builds.nix
diff options
authorProfpatsch <mail@profpatsch.de>2020-06-28T01·14+0200
committerProfpatsch <mail@profpatsch.de>2020-06-29T22·58+0000
commit4402c363b6137112716e82b93e946634aefbb600 (patch)
tree46f37c17c659f264dff2350b976febe27d2327b0 /ci-builds.nix
parent7a6a007302c0a2dcffcd606c82d6d3195952ed17 (diff)
feat(nix/runExecline): add runExecline r/1132
runExecline is a primitive that just does not care.

It’s similar to `runCommand`, but instead of concatenating bash
scripts left and right, it actually *uses* the features of
`derivation`, passing things to `args` and making it possible to
overwrite the `builder` in a sensible manner.

Additionally, it provides a way to pass a nix string to `stdin` of the
build script.

Similar to `writeExecline`, the passed script is not a string, but a
nested list of nix lists representing execline blocks. Escaping is
done by the implementation, the user can just use normal nix strings.

Change-Id: I890d9e5d921207751cdc8cc4309381395d92742f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/701
Reviewed-by: BuildkiteCI
Reviewed-by: isomer <isomer@tvl.fyi>
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
Diffstat (limited to 'ci-builds.nix')
1 files changed, 3 insertions, 1 deletions
diff --git a/ci-builds.nix b/ci-builds.nix
index b36b29326..7af5282f4 100644
--- a/ci-builds.nix
+++ b/ci-builds.nix
@@ -73,7 +73,9 @@ in lib.fix (self: {
     (drvify "getBins-tests" nix.getBins.tests)
-  ];
+  ]
+  ++ nix.runExecline.tests
+  ;
   # Haskell packages we've patched locally
   haskellPackages = with depot.third_party.haskellPackages; [