about summary refs log tree commit diff
path: root/tvix/build
diff options
context:
space:
mode:
authorFlorian Klink <flokli@flokli.de>2023-12-27T16·56+0100
committerclbot <clbot@tvl.fyi>2023-12-29T22·14+0000
commit4d6137964b53f77f1c9ef1765aa61e8e414bdeaf (patch)
tree771c311becb5c59144c9d61515c65c4183e39d62 /tvix/build
parent3e63d7be42c57f9724dcf5ff2ff3121ceb428f00 (diff)
feat(tvix/build): don't force outputs to be in store_dir r/7283
There's no need to require builds to also put their outputs in store_dir.

So rename store_dir to inputs_dir and make outputs consume paths, not
basenames.

Also document the possibility for builds to write to inputs_dir. Let's
see if we want to make this a constraint later.

Change-Id: Ib4df20afcdde2d771c269c422f04c7e95587cd0f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10447
Tested-by: BuildkiteCI
Reviewed-by: raitobezarius <tvl@lahfa.xyz>
Autosubmit: flokli <flokli@flokli.de>
Diffstat (limited to 'tvix/build')
-rw-r--r--tvix/build/protos/build.proto13
1 files changed, 7 insertions, 6 deletions
diff --git a/tvix/build/protos/build.proto b/tvix/build/protos/build.proto
index bdabb037a080..e007ce968a7f 100644
--- a/tvix/build/protos/build.proto
+++ b/tvix/build/protos/build.proto
@@ -45,8 +45,8 @@ option go_package = "code.tvl.fyi/tvix/build-go;buildv1";
 // support "send all BuildRequest for a nixpkgs eval to a remote builder and put
 // the laptop to sleep" usecases later.
 message BuildRequest {
-  // The list of all root nodes that should be visible in STORE_DIR at the time
-  // of the build.
+  // The list of all root nodes that should be visible in `inputs_dir` at the
+  // time of the build.
   // As root nodes are content-addressed, no additional signatures are needed
   // to substitute / make these available in the build environment.
   // Inputs are sorted by their names.
@@ -63,15 +63,16 @@ message BuildRequest {
 
   // A list of "scratch" paths, relative to the build root.
   // These will be write-able during the build.
-  // [build] in the case of Nix.
+  // [build, nix/store] in the case of Nix.
   repeated string scratch_paths = 4;
 
   // The path where the castore input nodes will be located at,
   // "/nix/store" in case of Nix.
-  string store_dir = 5;
+  // Builds might also write into here (Nix builds do that).
+  string inputs_dir = 5;
 
-  // The list of output nodes the build is expected to produce.
-  // These are basenames inside store_dir.
+  // The list of output paths the build is expected to produce,
+  // relative to the root.
   // If the path is not produced, the build is considered to have failed.
   // Outputs are sorted.
   repeated string outputs = 6;