mirror of
https://github.com/NixOS/nix
synced 2025-06-24 22:11:15 +02:00
--keep-failed
with remote builders will keep the failed build directory on that builder
This commit is contained in:
parent
2960d7adf5
commit
0712339912
2 changed files with 9 additions and 1 deletions
|
@ -329,8 +329,15 @@ connected:
|
|||
drv.inputSrcs = store->parseStorePathSet(inputs);
|
||||
optResult = sshStore->buildDerivation(*drvPath, (const BasicDerivation &) drv);
|
||||
auto & result = *optResult;
|
||||
if (!result.success())
|
||||
if (!result.success()) {
|
||||
if (settings.keepFailed) {
|
||||
warn(
|
||||
"The failed build directory was kept on the remote builder due to `--keep-failed`. "
|
||||
"If the build's architecture matches your host, you can re-run the command with `--builders ''` to disable remote building for this invocation."
|
||||
);
|
||||
}
|
||||
throw Error("build of '%s' on '%s' failed: %s", store->printStorePath(*drvPath), storeUri, result.errorMsg);
|
||||
}
|
||||
} else {
|
||||
copyClosure(*store, *sshStore, StorePathSet {*drvPath}, NoRepair, NoCheckSigs, substitute);
|
||||
auto res = sshStore->buildPathsWithResults({
|
||||
|
|
|
@ -85,6 +85,7 @@ out="$(nix-build 2>&1 failing.nix \
|
|||
--arg busybox "$busybox")" || true
|
||||
|
||||
[[ "$out" =~ .*"note: keeping build directory".* ]]
|
||||
[[ "$out" =~ .*"The failed build directory was kept on the remote builder due to".* ]]
|
||||
|
||||
build_dir="$(grep "note: keeping build" <<< "$out" | sed -E "s/^(.*)note: keeping build directory '(.*)'(.*)$/\2/")"
|
||||
[[ "foo" = $(<"$build_dir"/bar) ]]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue