about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ops/pipelines/depot.nix7
1 files changed, 3 insertions, 4 deletions
diff --git a/ops/pipelines/depot.nix b/ops/pipelines/depot.nix
index 878526e374..8d4f7d2757 100644
--- a/ops/pipelines/depot.nix
+++ b/ops/pipelines/depot.nix
@@ -36,10 +36,9 @@ let
       # at least one of its `outPath`s, so we need to discard the string context
       # if we don't want to build everything during pipeline construction.
       "nix-store --realise '${drvPath}'"
-      # However, Nix doesn't track references of store paths to derivations, so
-      # there's no guarantee that the derivation file is not garbage collected.
-      # To handle this case we fall back to an ordinary build if the derivation
-      # file is missing.
+      # Since we don't gcroot the derivation files, they may be deleted by the
+      # garbage collector. In that case we can reevaluate and build the attribute
+      # using nix-build.
       "|| (test ! -f '${drvPath}' && nix-build -E '${mkBuildExpr target}' --show-trace)"
     ];
     label = ":nix: ${mkLabel target}";