mirror of
https://github.com/NixOS/nix
synced 2025-06-24 13:51:16 +02:00
Merge pull request #13320 from DeterminateSystems/keep-failed-remote-builders-warning
Clarify that `--keep-failed` with remote builders will keep the failed build directory on that builder
This commit is contained in:
commit
4b8f74b3a3
2 changed files with 11 additions and 1 deletions
|
@ -329,8 +329,17 @@ 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`.%s",
|
||||
(settings.thisSystem == drv.platform || settings.extraPlatforms.get().count(drv.platform) > 0)
|
||||
? " 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