Build nix itself somewhat incrementally, optionally #8543
Closed
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.
Motivation
Add an extra build that produces a build of nix, built in nix, reusing components that will have been built by hydra.nixos.org.
This speeds up the build that's required when changes are made to just the manual, ie all within
/doc
.Reviewing those has been frustrating because
nix develop
, you don't get incremental builds because doc prs tend to have different base commits.nix build
never matches anything in the binary cacheThis leaves the normal build untouched.
The way the expression works is by building sets of files in separate derivations and then copying them in. The speedup is achieved when the intermediate derivations are cached.
Numbers
/doc
: 0:42TODO:
src/libstore/tests/libnixstore-tests: error while loading shared libraries: libnixstore-tests.so: cannot open shared object file: No such file or directory
.rpath
/rpath-link
?Context
.md
files in sources still require a rebuild. Nonetheless this PR provides infrastructure that may be helpful for solving thatChecklist for maintainers
Maintainers: tick if completed or explain if not relevant
tests/**.sh
src/*/tests
tests/nixos/*
Priorities
Add 👍 to pull requests you find important.