kb-eval-nix: a failed .drv closure push fails the eval (SPEC §7.3) #26
Loading…
Reference in a new issue
No description provided.
Delete branch "lu/eval-push-fatal"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
.drvclosure push fails the eval. With a cache-push target configured, publishing the evaluated derivation closure that fails every retry now fails the eval whateverKB_CACHE_PUSH_ON_FAILUREsays. The error names the target and the push error ("publishing the evaluated derivation closure to failed; no other node could build this graph, so the eval fails rather than be cached" + the "failed after 3 attempts: …" cause). No target: unchanged. Logic inpublish_derivations()(run.rs).evaluatedline is logged after publishing, withreconciled(locally-held outputs pushed so their derivations could be pruned — the old, misleadingpushed=) andpublished(roots whose.drvclosure reached the target).OnFailuregoverns output pushes only; SPEC §7.3; forgejo-setup.mdon_failurerow.Why
Live incident: the ares agent's attic token lacked push permission. Its evals logged
WARN … derivation closure not published … AccessError, exited 0 and were cached (an eval is pure), so tasks placed on nuxbox failed downstream with "no substituter can build " — and since a cached eval replay never re-pushes derivations, not even a rerun could recover; only a new tree did.warntrades a missing output for a green task; it doesn't fit the drv closure, without which no other node can build anything in the graph.Tests
run::tests::a_failed_derivation_push_fails_the_eval_even_under_warn(always-failing push command underwarn→ error naming the closure, retries and target; no target →Ok(0); working push →Ok(1)).an_unreachable_push_target_fails_the_evaluationnow expects failure underwarn;a_locally_held_path_is_published_before_it_is_prunedreadsreconciled/published.Operational note: the
evaluatedlog fieldpushed=is nowreconciled=.🤖 Generated with Claude Code
@krisbuild r+
The pull request head's own build failed (graph 658).
nix/build: exit-code on nuxbox, exit 1 — logPush a fix, or comment
@krisbuild retryto rerun the failed tasks and requeue.Removed from the merge queue: the pull request was closed.
@krisbuild r+
Merged as
7adbaf5522.