Re-query for the derivation outputs in the post-build-hook

We can't assume that the runtime state knows about them as they might have
been built remotely, in which case we must query the db again to get
them.
This commit is contained in:
regnat 2020-12-08 11:11:02 +01:00
parent 97dc44f3d6
commit 1b1e076033

View file

@ -899,8 +899,10 @@ void DerivationGoal::buildDone()
Logger::Fields{worker.store.printStorePath(drvPath)});
PushActivity pact(act.id);
StorePathSet outputPaths;
for (auto i : drv->outputs) {
outputPaths.insert(finalOutputs.at(i.first));
for (auto& [_, maybeOutPath] :
worker.store.queryPartialDerivationOutputMap(drvPath)) {
if (maybeOutPath)
outputPaths.insert(*maybeOutPath);
}
std::map<std::string, std::string> hookEnvironment = getEnv();