From 4d6137964b53f77f1c9ef1765aa61e8e414bdeaf Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Wed, 27 Dec 2023 17:56:28 +0100 Subject: feat(tvix/build): don't force outputs to be in store_dir 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 Autosubmit: flokli --- tvix/build/protos/build.proto | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'tvix/build/protos') 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; -- cgit 1.4.1