nix3-build: show all FOD errors with --keep-going
#10734
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This was cherry-picked from lix.
Motivation
Basically I'd expect the same behavior as with
nix-build
, i.e. with--keep-going
the hash-mismatch error of each failing fixed-output derivation is shown.The approach is derived from
Store::buildPaths
(entry-point.cc
): instead of throwing the first build-result, check if there are any build errors and if so, display all of them and throw after that.Unfortunately, the BuildResult struct doesn't have an
ErrorInfo
(there's a FIXME for that at least), so I have to construct my own here. This is a rather cheap bugfix and I decided against touching too many parts of libstore for that (also I don't know if that's in line with the ongoing refactoring work).Context
Priorities and Process
Add 👍 to pull requests you find important.
The Nix maintainer team uses a GitHub project board to schedule and track reviews.