Skip to content

Commit d20639a

Browse files
committed
Correctly handle “real” input-addressed derivations
It’s possible that their inputs don’t have a properly registered `realisation` (coming from an older Nix), so don’t assume that
1 parent 109213e commit d20639a

1 file changed

Lines changed: 3 additions & 6 deletions

File tree

src/hydra-queue-runner/build-remote.cc

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -259,13 +259,10 @@ void State::buildRemote(ref<Store> destStore,
259259
basicDrv = BasicDerivation(*step->drv);
260260
for (auto & input : step->drv->inputDrvs) {
261261
auto drv2 = localStore->readDerivation(input.first);
262-
auto hashes = staticOutputHashes(*localStore, drv2);
262+
auto drv2Outputs = drv2.outputsAndOptPaths(*localStore);
263263
for (auto & name : input.second) {
264-
if (settings.isExperimentalFeatureEnabled("ca-derivations")) {
265-
auto inputRealisation = localStore->queryRealisation(DrvOutput{hashes.at(name), name});
266-
assert(inputRealisation);
267-
basicDrv.inputSrcs.insert(inputRealisation->outPath);
268-
}
264+
auto inputPath = drv2Outputs.at(name);
265+
basicDrv.inputSrcs.insert(*inputPath.second);
269266
}
270267
}
271268
}

0 commit comments

Comments
 (0)