Bernardo Meurer Costa
4ae6c65bc5
test(tests/nixos/s3-binary-cache-store): verify credential caching in concurrent fetches
...
Add assertion to test_concurrent_fetches to verify that only one
credential provider is created even with 5 concurrent fetches.
2025-10-18 23:48:55 +00:00
Bernardo Meurer Costa
4f19e63a8f
refactor(tests/nixos/s3-binary-cache-store): add --no-link to nix build commands
...
Prevent creation of result symlinks in all nix build commands by
adding the --no-link flag.
2025-10-18 23:44:13 +00:00
Bernardo Meurer Costa
f88c3055f8
refactor(tests/nixos/s3-binary-cache-store): clean client store in setup_s3
...
Add cleanup of client store in the finally block of setup_s3 decorator.
Uses `nix store delete --ignore-liveness` to properly handle GC roots
and only attempts deletion if the path exists.
2025-10-18 23:36:48 +00:00
Bernardo Meurer Costa
9058d90ab2
refactor(tests/nixos/s3-binary-cache-store): rename populate_with to populate_bucket
2025-10-18 23:27:03 +00:00
Bernardo Meurer Costa
c1a15d1a26
refactor(tests/nixos/s3-binary-cache-store): rename with_test_bucket to setup_s3
2025-10-18 23:24:30 +00:00
Bernardo Meurer Costa
22f4cccc71
refactor(tests/nixos/s3-binary-cache-store): use a PKGS dict
...
Replace individual PKG_A, PKG_B, and PKG_C variables with a PKGS
dictionary. This will enable `@with_clean_client_store` in the future.
2025-10-18 23:23:50 +00:00
John Ericson
b56e456b0d
Merge pull request #14269 from roberth/json-schema
...
Add a JSON Schema for `Derivation`
2025-10-18 18:50:39 +00:00
Robert Hensing
c92ba4b9b7
Add titles in JSON schemas
...
This way, the description isn't rendered in the tables of contents,
leading to no more formatting errors.
2025-10-17 21:53:29 +02:00
Eelco Dolstra
67bffa19a5
NullFileSystemObjectSink: Skip over file contents
2025-10-17 20:44:02 +02:00
Eelco Dolstra
daa7e0d2e9
Source: Add skip() method
...
This allows FdSource to efficiently skip data we don't care about.
2025-10-17 20:41:33 +02:00
Eelco Dolstra
109f6449cc
nix store dump-path: Refuse to write NARs to the terminal
2025-10-17 20:27:10 +02:00
John Ericson
ad2360c59f
Merge pull request #14288 from lovesegfault/repl-skip-stack
...
fix(tests/functional/repl): skip test if stack size limit is insufficient
2025-10-17 17:35:52 +00:00
Bernardo Meurer Costa
20c7c551bf
fix(tests/functional/repl): skip test if stack size limit is insufficient
...
Nix attempts to set the stack size to 64 MB during initialization, which is
required for the repl tests to run successfully. Skip the tests on systems
where the hard stack limit is less than this value rather than failing.
2025-10-17 17:05:12 +00:00
John Ericson
e78e6ca4f4
Merge pull request #14281 from NixOS/dead-code
...
libutil: Drop unused SubdirSourceAccessor
2025-10-17 03:01:17 +00:00
John Ericson
e34063cf21
Merge pull request #14283 from NixOS/nar-check
...
nix {cat,ls}: Add back missing checks for file descriptors
2025-10-17 02:58:23 +00:00
Sergei Zimmerman
e457ea7688
nix {cat,ls}: Add back missing checks for file descriptors
...
I didn't catch this during the review of https://github.com/NixOS/nix/pull/14273 .
This fixes that mistake.
2025-10-17 02:26:24 +03:00
Farid Zakaria
64c55961eb
Merge pull request #14273 from fzakaria/fzakaria/issue-13944
...
Make `nix nar [cat|ls]` lazy
2025-10-17 02:16:54 +03:00
Sergei Zimmerman
ffbc33fec6
libstore/meson: Rename curl-s3-store to s3-aws-auth
...
We now unconditionally compile support for s3:// URLs and stores
without authentication. The whole curl version check can be greatly
simplified by the previous commit, which bumps the minimum required curl
version.
2025-10-17 01:18:46 +03:00
Sergei Zimmerman
a80fc252e8
libstore/meson: Require curl >= 7.75.0
...
This version has been released a long time ago in 2021 and it's doubtful
that anybody actually uses it still, since it's full of vulnerabilities [^]
[^]: https://curl.se/docs/vuln-7.75.0.html
2025-10-17 01:18:14 +03:00
Sergei Zimmerman
bcd5a9d05c
libutil: Drop unused SubdirSourceAccessor
2025-10-17 00:56:53 +03:00
Robert Hensing
01b001d5ba
Add JSON Schema infrastructure, use for Derivation
...
For manual, and testing formats
2025-10-16 17:24:18 -04:00
John Ericson
27767a6094
Merge pull request #14276 from NixOS/fix-14193
...
libstore/registerOutputs: Don't try to optimize a non-existent actual…
2025-10-16 21:06:43 +00:00
John Ericson
1177d65094
Properly check xp features when deserializing deriving paths
2025-10-16 16:45:22 -04:00
John Ericson
a2c6f38e1f
Remove now-redundant methods for JSON on Derivation
2025-10-16 16:45:22 -04:00
John Ericson
1c02dd5b9c
Allow for standard nlohmann JSON serializers to take separate XP features
...
I realized that we can actually do this thing, even though it is not
what nlohmann expects at all, because the extra parameter has a default
argument so nlohmann doesn't need to care. Sneaky!
2025-10-16 16:45:22 -04:00
Sergei Zimmerman
4cbcaad435
libstore/registerOutputs: Don't try to optimize a non-existent actualPath
...
Since 3c610df550 this resulted in `getting status of`
errors on paths inside the chroot if a path was already valid. Careful inspection
of the logic shows that if buildMode != bmCheck actualPath gets reassigned to
store.toRealPath(finalDestPath). The only branch that cares about actualPath is
the buildMode == bmCheck case, which doesn't lead to optimisePath anyway.
2025-10-16 23:08:30 +03:00
John Ericson
d87a06af7a
Merge pull request #14275 from NixOS/s3-cleanup
...
libstore: Miscellaneous S3 store cleanups
2025-10-16 19:36:59 +00:00
Eelco Dolstra
2dc9f2a2b7
Merge pull request #14272 from NixOS/use-store-path-serializer
...
Daemon protocol: Use the WorkerProto serializer for store paths
2025-10-16 19:35:25 +00:00
Eelco Dolstra
a7991d55cc
Merge pull request #14270 from NixOS/use-optional-storepath-serializer
...
Use serializer for std::optional<StorePath>
2025-10-16 19:07:07 +00:00
Sergei Zimmerman
e7047fde25
libstore: Remove the unnecessary 'error: ' prefix in warning message
2025-10-16 21:49:38 +03:00
Sergei Zimmerman
33e94fe19f
libstore: Make AwsAuthError more legible
...
Instead of the cryptic:
> error: Failed to resolve AWS credentials: error code 6153`
We now get more legible:
> error: AWS authentication error: 'Valid credentials could not be sourced by the IMDS provider' (6153)
2025-10-16 21:49:37 +03:00
Sergei Zimmerman
dc03c6a812
libstore: Put all the AWS credentials logic behind interface class AwsCredentialProvider
...
This makes it so we don't need to rely on global variables and hacky destructors to
clean up another global variable. Just putting it in the correct order in the class
is more than enough.
2025-10-16 21:49:36 +03:00
Sergei Zimmerman
b1d067c9bb
tests/nixos: Rename back S3 store nixos test
2025-10-16 21:49:35 +03:00
Eelco Dolstra
d782c5e586
Daemon protocol: Use the WorkerProto serializer for store paths
2025-10-16 17:34:33 +02:00
Eelco Dolstra
f84b33644c
Merge pull request #14271 from NixOS/no-check-sigs
...
Factor out `--no-check-sigs` into its own class
2025-10-16 15:07:29 +00:00
Eelco Dolstra
3bd2b76f6e
nix store sign: Use required attribute
2025-10-16 16:35:13 +02:00
Eelco Dolstra
139df77440
Factor out --no-check-sigs
2025-10-16 16:35:09 +02:00
Eelco Dolstra
a48a737517
Use serializer for std::optional<StorePath>
2025-10-16 16:32:18 +02:00
John Ericson
0503a862ef
Merge pull request #14268 from roberth/dev-doc-manual
...
doc/dev/doc: Update local build instructions for manual
2025-10-16 13:50:58 +00:00
Robert Hensing
61cb9c4832
doc/dev/doc: Update local build instructions for manual
2025-10-16 13:22:22 +02:00
John Ericson
721f5572a6
Merge pull request #14263 from NixOS/hydra-import-paths
...
Restore `ServeProto::Command::ImportPaths`
2025-10-15 22:57:50 +00:00
John Ericson
5a6864c027
Merge pull request #14264 from xokdvium/fix-splicing-test
...
tests: Fix splicing in functional tests for nix-cli
2025-10-15 22:32:45 +00:00
Sergei Zimmerman
0deb492b3d
Restore ServeProto::Command::ImportPaths
...
This partially reverts commit 5e46df973f ,
partially reversing changes made to
8c789db05b .
We do this because Hydra, while using the newer version of the protocol,
still uses this command, even though Nix (as a client) doesn't use it.
On that basis, we don't want to remove it (or consider it only part of
the older versions of the protocol) until Hydra no longer uses the
Legacy SSH Protocol.
2025-10-15 18:18:59 -04:00
Sergei Zimmerman
17b7fb383f
tests: Fix splicing in functional tests for nix-cli
...
This is necessary to fix nix-everything-llvm.
The problem here is that nix-cli is taken from the previous
stage that is built with libstdc++, but this derivation builds
plugins with libc++ and the plugin load fails miserably.
2025-10-16 01:04:50 +03:00
John Ericson
94cfba7e84
Merge pull request #14226 from obsidiansystems/unkeyed-realisation
...
Reapply #14097
2025-10-15 21:27:13 +00:00
Sergei Zimmerman
0f1cfa4d60
Merge pull request #14262 from lovesegfault/ci-cleanup-s3
...
ci: cleanup s3 tests
2025-10-15 21:19:20 +00:00
Bernardo Meurer Costa
fa0d00e668
ci: cleanup s3 tests
...
This cleans up the work done in 8c2828387 . Now that #13752 has landed,
there's no need to test configurations without AWS auth in CI.
2025-10-15 23:51:08 +03:00
Robert Hensing
6036aaf798
C API: Check output callback order
2025-10-15 22:04:21 +02:00
Sergei Zimmerman
d2b6499154
Merge pull request #13752 from lovesegfault/curl-based-s3-v2
...
feat(libstore): curl-based s3
2025-10-15 20:01:26 +00:00
Sergei Zimmerman
e3232af558
Merge pull request #14253 from NixOS/libgit2-refname-wa
...
libfetchers/git-utils: Be more correct about validating refnames
2025-10-15 19:30:53 +00:00