Eelco Dolstra
2ecc5156f4
lockFlake(): When updating a lock, respect the input's lock file
2025-07-09 19:04:29 +02:00
Eelco Dolstra
38a73203a4
Fix eval caching for path flakes
...
This fix is somewhat hacky since the accessor/input fingerprint
situation is a bit of a mess.
2025-06-27 20:02:18 +02:00
Eelco Dolstra
1d5e161755
Merge pull request #113 from DeterminateSystems/eelcodolstra/fh-851-lock-nar-hashes-by-default
...
Add lazy-locks setting
2025-06-19 17:01:14 +00:00
Vladimír Čunát
5d2986d3c5
tests: fixup with jq-1.8.0
2025-06-19 18:48:59 +02:00
Eelco Dolstra
3a4e6cadeb
Improve regression testing for uncachable source paths
...
These now throw an error by default in the test suite.
2025-06-16 23:59:33 +02:00
Eelco Dolstra
e3fa4faff9
fetchToStore(): Don't require a valid path in dry run mode
2025-06-16 12:27:44 -04:00
Eelco Dolstra
dc5e620032
fetchToStore() cache: Use content hashes instead of store paths
...
We can always compute the store path from the content hash, but not
vice versa. Storing the content hash allows `hashPath()` to be
replaced by `fetchToStore(...FetchMode::DryRun...)`, which gets us
caching in lazy-trees mode.
2025-06-16 12:27:44 -04:00
Eelco Dolstra
cbedb8e19a
Fix broken fetchToStore() caching on unlocked inputs
2025-06-13 22:29:20 +02:00
Eelco Dolstra
802f585406
Add lazy-locks setting
...
This determines whether lock file entries omit a NAR hash. They're
included by default to make lazy trees compatible with older clients.
2025-06-13 17:45:37 +02:00
Eelco Dolstra
0922c72777
Fix flakes test with lazy trees enabled
2025-06-12 16:02:42 +02:00
Eelco Dolstra
51349ca37a
Test lock file contents more precisely
2025-05-12 18:00:40 +02:00
Eelco Dolstra
4ea5cb3832
Fix emitting narHash in lock files when lazy trees are disabled
2025-05-12 17:34:32 +02:00
Eelco Dolstra
f6ad6291ab
nix flake metadata: Show store path if available
2025-05-07 15:56:35 +02:00
Eelco Dolstra
630bdff7e9
Re-enable _NIX_TEST_FAIL_ON_LARGE_PATH tests
2025-05-07 12:49:11 +02:00
Eelco Dolstra
577b331464
Merge remote-tracking branch 'detsys/detsys-main' into lazy-trees-v2
2025-05-06 19:09:09 +02:00
Jörg Thalheim
709f05989d
tests/flakes: add regression test for resolving user flakes
...
(cherry picked from commit 6405d6822d )
2025-04-25 13:32:13 +02:00
Eelco Dolstra
dfbb52e6bd
lockFlake(): Allow registry lookups for the top-level flake
...
Fixes #13050 .
(cherry picked from commit 68de26d38a )
2025-04-25 13:31:24 +02:00
Eelco Dolstra
9d87ab1dc8
Add a setting to enable lazy trees
2025-04-24 16:16:28 +02:00
Jörg Thalheim
04fcc879e6
Revert "Actually ignore system/user registries during locking"
...
This reverts commit 77d4316353 .
(cherry picked from commit 3b5f0d9fb3 )
2025-04-24 11:34:57 +00:00
Eelco Dolstra
f45db85887
Actually ignore system/user registries during locking
...
Something went wrong in #12068 so this didn't work. Also added a test.
2025-04-09 21:04:42 +02:00
Eelco Dolstra
a08477975d
Actually ignore system/user registries during locking
...
Something went wrong in #12068 so this didn't work. Also added a test.
(cherry picked from commit 77d4316353 )
2025-04-09 16:33:47 +00:00
Eelco Dolstra
9e6b89c92c
lockFlake(): Always compute a NAR hash for inputs
...
For the top-level flake, we don't need a NAR hash. But for inputs, we
do.
Also, add a test for the lazy behaviour of `nix flake metadata|lock`.
2025-02-10 18:05:34 +01:00
Eelco Dolstra
f24ff056cb
Make nix flake metadata|update|lock lazy
...
These don't need to evaluate anything (except for the flake metadata
in flake.nix) so we can make these commands operate on lazy trees
without risk of any semantic change in the evaluator.
However, `nix flake metadata` now no longer prints the store path,
which is a breaking change (but unavoidable if we want lazy trees).
2025-02-10 17:59:14 +01:00
John Ericson
e02026adae
Merge pull request #12254 from DeterminateSystems/fix-relative-path-on-cli
...
Fix relative 'path:' flakerefs in the CLI
2025-01-15 15:19:56 -05:00
Eelco Dolstra
ff8e2fe84e
Fix relative 'path:' flakerefs in the CLI
...
And handle relative 'git+file:' flakerefs while we're at it (these
crashed with an assertion failure).
Fixes #12248 .
2025-01-14 17:30:13 +01:00
Robert Hensing
d9a50c0af2
Clarify cd call in tests/functional/flakes/flakes.sh
2025-01-10 09:57:54 +01:00
Bryan Lai
9d088fa502
tests/flakes: check git+file:./${submodule} protocol
...
Relative, local git repo used to work (for submodules), but it
fails after 3e0129ce3b .
This commit adds a test to prevent such failure in the future.
2025-01-10 11:37:29 +08:00
Eelco Dolstra
757ea70644
Add a test
2024-12-17 13:13:39 +01:00
Eelco Dolstra
6832ee5d6f
Move non-flake input tests into a separate file
2024-11-20 19:51:04 +01:00
Eelco Dolstra
e1cb905aca
Move --commit-lock-file-summary tests into a separate file
2024-11-20 18:42:33 +01:00
Eelco Dolstra
5533b0c735
Move shebang flake tests into a separate test
2024-11-20 18:08:31 +01:00
John Ericson
9d2ed0a7d3
No longer copy functional tests to the build dir
...
This should make `_NIX_TEST_ACCEPT=1` work again, fixing #11369 .
Progress on #2503
2024-11-03 16:42:38 -05:00
Eelco Dolstra
c5a4dfa660
nix flake {metadata,archive}: Fix chroot stores
...
Fixes
$ nix flake metadata --store /tmp/nix nixpkgs
error: path '/tmp/nix/nix/store/65xpqkz92d9j7k5ric4z8lzhiigxsfbg-source/flake.nix' is not in the Nix store
This has been broken since 598deb2b23 .
2024-09-09 15:41:38 +02:00
Eelco Dolstra
1ff186fc6e
nix flake metadata: Show flake fingerprint
...
This is useful for testing/debugging and maybe for sharing eval caches
(since it tells you what file in ~/.cache/nix/eval-cache-v5 to copy).
2024-07-03 17:00:30 +02:00
Cole Helbling
9e9730ef0f
Test that commit-lock-file-summary and its alias work
2024-06-28 14:53:40 -07:00
Robert Hensing
8557d79650
tests/functional: Skip tests that don't work in NixOS environment yet
2024-06-20 14:54:11 +02:00
John Ericson
10f864c5ae
Ensure all functional scripts are (a) executable (b) have shebang
...
This is good for shebang, and also good for future build system
simplifications
2024-05-28 12:46:24 -04:00
Eelco Dolstra
1f41682217
Update tests/functional/flakes/flakes.sh
...
Co-authored-by: John Ericson <git@JohnEricson.me>
2024-04-30 18:10:16 +02:00
Eelco Dolstra
f29a220b70
Test that the root of a tree produces /nix/store/<hash1>-<hash2>-source
2024-04-30 17:25:35 +02:00
Eelco Dolstra
503be57bbd
Test baseNameOf behaviour on the root of a flake
2024-04-30 15:43:33 +02:00
Eelco Dolstra
458441c637
Test dirOf behaviour on the root of a flake
2024-04-30 15:34:38 +02:00
Cyclic4179
9f7b2b93ce
fixup! add flakes.sh test for shebang supported types of comments
2024-03-27 15:03:54 +01:00
Cyclic4179
6227cd06bd
add flakes.sh test for shebang supported types of comments
2024-03-27 14:55:02 +01:00
Olmo Kramer
b1ad729add
Add test for nix flake update with multiple inputs
2024-03-03 13:59:39 +01:00
Fabian Möller
994f1b5c0d
Add test cases for flake urls with fragments
2023-12-11 16:05:34 +01:00
Robert Hensing
466271568b
nix: Parse --file relative to shebang script
2023-11-07 13:24:01 -05:00
Robert Hensing
198bc22e3b
nix: Add command baseDir to parse --expr relative to shebang script
2023-11-07 13:24:01 -05:00
Robert Hensing
20ff61ab25
nix: Reserve shebang line syntax and only parse double backtick quotes
...
Being restrictive about syntax leaves opportunity to improve the
syntax and functionality later.
2023-11-07 13:24:01 -05:00
Tom Bereknyei
06f3583b1c
feat: break out of shebang processing for non-comments
2023-11-07 13:24:01 -05:00
Tom Bereknyei
bfcbf3b5bf
doc: shebang release notes, docs, tests
...
fix: release notes
2023-11-07 13:24:01 -05:00