John Ericson
251479bdda
Merge pull request #14127 from obsidiansystems/registerDrvOutput-no-blanket-unsupported
...
`Store::registerDrvOutput` make pure virtual
2025-10-01 08:51:18 -04:00
John Ericson
772a38069e
Merge pull request #14129 from fzakaria/fzakaria/shellcheck-multiple-6
...
Remove all shellcheck exclusions
2025-09-30 23:54:53 -04:00
Farid Zakaria
015b639cea
shellcheck fix: tests/functional/why-depends.sh
2025-09-30 20:27:51 -07:00
Farid Zakaria
c8ef6dfa5a
shellcheck fix: tests/functional/user-envs.sh
2025-09-30 20:27:50 -07:00
Farid Zakaria
13eac5295d
shellcheck fix: tests/functional/user-envs.builder.sh
2025-09-30 20:23:02 -07:00
Farid Zakaria
049c4c7546
shellcheck fix: tests/functional/user-envs-test-case.sh
2025-09-30 20:22:11 -07:00
Farid Zakaria
359e73a6db
shellcheck fix: tests/functional/user-envs-migration.sh
2025-09-30 20:20:13 -07:00
Farid Zakaria
799cd62ec8
shellcheck fix: tests/functional/toString-path.sh
2025-09-30 20:19:47 -07:00
Farid Zakaria
b349783830
shellcheck fix: tests/functional/supplementary-groups.sh
2025-09-30 20:19:27 -07:00
Farid Zakaria
8c9bfb6e12
shellcheck fix: tests/functional/simple.builder.sh
2025-09-30 20:18:48 -07:00
Farid Zakaria
7266a51412
shellcheck fix: tests/functional/selfref-gc.sh
2025-09-30 20:17:55 -07:00
Farid Zakaria
b8f1a8a0c1
shellcheck fix: tests/functional/selfref-gc.sh
2025-09-30 20:17:55 -07:00
Farid Zakaria
1a5ccbeafc
shellcheck fix: tests/functional/secure-drv-outputs.sh
2025-09-30 20:17:55 -07:00
Farid Zakaria
64d828b8c4
shellcheck fix: tests/functional/search.sh
2025-09-30 20:17:55 -07:00
Farid Zakaria
b42ed6a74d
shellcheck fix: tests/functional/restricted.sh
2025-09-30 20:17:55 -07:00
Farid Zakaria
d35d86da89
shellcheck fix: tests/functional/repair.sh
2025-09-30 20:17:54 -07:00
Farid Zakaria
06f21e101f
shellcheck fix: tests/functional/remote-store.sh
2025-09-30 20:15:34 -07:00
Farid Zakaria
7ed4011990
shellcheck fix: tests/functional/referrers.sh
2025-09-30 20:15:34 -07:00
Farid Zakaria
5d1333bf4b
shellcheck fix: tests/functional/recursive.sh
2025-09-30 20:15:34 -07:00
Farid Zakaria
8a36cf4422
shellcheck fix: tests/functional/readfile-context.sh
2025-09-30 20:15:34 -07:00
Farid Zakaria
c8a7719614
shellcheck fix: tests/functional/read-only-store.sh
2025-09-30 20:15:34 -07:00
Farid Zakaria
1492c1bc5d
shellcheck fix: tests/functional/push-to-store.sh
2025-09-30 20:15:34 -07:00
Farid Zakaria
a11195d6ce
shellcheck fix: tests/functional/push-to-store-old.sh
2025-09-30 20:15:34 -07:00
Farid Zakaria
b951e6e1ed
shellcheck fix: tests/functional/pure-eval.sh
2025-09-30 20:15:34 -07:00
Farid Zakaria
bcd8311ec6
shellcheck fix: tests/functional/post-hook.sh
2025-09-30 20:15:33 -07:00
Farid Zakaria
1aaa3dafee
shellcheck fix: tests/functional/placeholders.sh
2025-09-30 19:54:29 -07:00
Farid Zakaria
c82aa04a3d
shellcheck fix: tests/functional/path-info.sh
2025-09-30 19:53:54 -07:00
Farid Zakaria
112c9d8f54
shellcheck fix: tests/functional/path-from-hash-part.sh
2025-09-30 19:53:33 -07:00
Farid Zakaria
32cbf5f55a
shellcheck fix: tests/functional/pass-as-file.sh
2025-09-30 19:52:44 -07:00
John Ericson
9ac306c4df
Expose some core implementation details and write a basic unit test for the dummy store
...
This test currently doesn't use the new-exposed functionality, but with
future changes the tests will be expanded and they will be used.
2025-09-30 14:52:32 -04:00
John Ericson
88bd0c25f2
Store::registerDrvOutput make pure virtual
...
It should be the responsibility of implementations that don't implement
it to say so.
See also PR #9799 , and issue #5729
2025-09-30 14:13:04 -04:00
John Ericson
c97b050a6c
Fix ca/eval-store.sh test
...
The refactor in the last commit fixed the bug it was supposed to fix,
but introduced a new bug in that sometimes we tried to write a resolved
derivation to a store before all its `inputSrcs` were in that store.
The solution is to defer writing the derivation until inside
`DerivationBuildingGoal`, just before we do an actual build. At this
point, we are sure that all inputs in are the store.
This does have the side effect of meaning we don't write down the
resolved derivation in the substituting case, only the building case,
but I think that is actually fine. The store that actually does the
building should make a record of what it built by storing the resolved
derivation. Other stores that just substitute from that store don't
necessary want that derivation however. They can trust the substituter
to keep the record around, or baring that, they can attempt to re
resolve everything, if they need to be audited.
2025-09-30 11:29:21 -04:00
John Ericson
39f6fd9b46
Fix #13247
...
Resolve the derivation before creating a building goal, in a context
where we know what output(s) we want. That way we have a chance just to
download the outputs we want.
Fix #13247
2025-09-30 11:29:19 -04:00
John Ericson
8f4a739d0f
Split out DerivationResolutionGoal
...
This prepares the way for fixing a few issues.
2025-09-30 11:25:52 -04:00
John Ericson
d76dc2406f
Merge pull request #14060 from obsidiansystems/build-result-variant
...
Use `std::variant` to enforce `BuildResult` invariants
2025-09-30 11:02:13 -04:00
Jörg Thalheim
bc66e131f8
Merge pull request #14120 from lovesegfault/http-binary-cache-compression
...
feat(libstore/http-binary-cache-store): narinfo/ls/log compression
2025-09-30 12:50:10 +02:00
Jörg Thalheim
6e6f88ac45
add changelog for http binary cache compression
2025-09-30 11:05:20 +02:00
Jörg Thalheim
3fcd33079c
add http binary cache test for compression options
2025-09-30 10:35:46 +02:00
Jörg Thalheim
a5facbd2d1
Merge pull request #14121 from obsidiansystems/file-transfer-quit
...
Some Curl file transfer cleanups
2025-09-30 09:12:08 +02:00
Jörg Thalheim
a5b35ec129
Merge pull request #14106 from Radvendii/exprpath-alloc
...
libexpr: allocate ExprPath strings in the allocator
2025-09-30 09:04:24 +02:00
John Ericson
e52e801421
Merge pull request #14123 from NixOS/path-tests-pure-eval
...
libexpr-tests: Add unit tests for broken readDir /. for pure eval
2025-09-30 00:33:51 -04:00
Sergei Zimmerman
a8670e8a7d
libexpr-tests: Add unit tests for broken readDir /. for pure eval
...
A very unfortunate interaction of current filtering with pure eval is
that the following actually leads to `lib.a = {}`. This just adds a unit
test for this broken behavior. This is really good to be done as a unit test
via the in-memory store.
{
outputs =
{ ... }:
{
lib.a = builtins.readDir /.;
};
}
2025-09-30 03:16:35 +03:00
John Ericson
86fb5b24a9
curlFileTransfer::workerThreadEntry Only call quit if we need to.
2025-09-29 18:10:34 -04:00
John Ericson
1f65b08d94
curlFileTransfer::State:quit emptys the queue
...
Whoever first calls `quit` now empties the queue, instead of waiting for
the worker thread to do it.
(Note that in the unwinding case, the worker thread is still the first
to call `quit`, though.)
2025-09-29 18:10:34 -04:00
John Ericson
d5402b8527
Encapsulate curlFileTransfer::State:quit
...
It is allowed to read it, and to set it to `false`, but not to set it
to `true`.
2025-09-29 18:10:34 -04:00
Bernardo Meurer Costa
689fa81dc9
feat(libstore/http-binary-cache-store): narinfo/ls/log compression
2025-09-29 21:53:40 +00:00
Sergei Zimmerman
823c0d1140
Merge pull request #14118 from xokdvium/fix-make-empty-source-accessor
...
libutil: Create empty directory at the root for makeEmptySourceAccessor
2025-09-29 21:19:02 +00:00
Taeer Bar-Yam
f70b0b599c
libexpr: allocate ExprPath strings in the allocator
2025-09-29 17:02:05 -04:00
Sergei Zimmerman
1830f5f967
libutil: Create empty directory at the root for makeEmptySourceAccessor
...
This is my SNAFU. Accidentally broken in 02c9ac445f .
There's very dubious behavior for 'builtins.readDir /.':
{
outputs =
{ ... }:
{
lib.a = builtins.readDir /.;
};
}
nix eval /tmp/test-flake#lib.a
Starting from 2.27 this now returns an empty set. This really isn't supposed
to happen, but this change in the semantics of makeEmptySourceAccessor accidentally
changed the behavior of this.
2025-09-29 23:16:28 +03:00
Jörg Thalheim
13a236ba29
Merge pull request #14114 from fzakaria/fzakaria/shellcheck-multiple-4
...
shellcheck fixes continued
2025-09-29 21:32:19 +02:00