[nix] Build all packages in same nix command #2032
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.
Summary
This changes how
installNixPackagesToStore
callsnix.Build
so that it installs all installables in same nix command.It does this by grouping all installables into two groups, one for allow-insecure and other for default and runs
build
on both groups (if not empty)I was able to remove
packageInstallErrorHandler
because it is already called inpackagesToInstallInStore
so we will never actually try to build something that can't build on the system, or if it requires--allow-insecure
we will notice it then.This does change our segment logging to group packages together for install times, so we will need to do some more work on the metrics side to determine slow packages.
How was it tested?