Commit graph

103 commits

Author SHA1 Message Date
Jörg Thalheim e3d71921c3 buffered-io: also check for interrupts in readline
This allows us to more reliable interrupt nix-eval-jobs
2023-12-17 12:15:15 +00:00
Jörg Thalheim b73f7ceff4 classify SIGSEV/SIGBUS as infinite recursion errors 2023-12-16 11:58:01 +01:00
Jörg Thalheim 093b8ce5cc apply treefmt 2023-12-16 11:44:08 +01:00
Jörg Thalheim 4d97e5a386 improve infinite recursion errors 2023-12-16 10:52:23 +01:00
Jörg Thalheim 83df9d4e24 fix exit status reporting when evaluation fails 2023-12-16 09:48:37 +01:00
Jörg Thalheim 89927c434c make sure we also define HAVE_STRUCT_DIRENT_D_TYPE outside of autotools 2023-12-16 09:24:42 +01:00
Jörg Thalheim 1f4bbded61 optimize imports with "include-what-you-use" 2023-12-16 09:20:53 +01:00
Jörg Thalheim 521380076d release proc.pid properly before calling waitpid() 2023-12-10 20:36:24 +00:00
Jörg Thalheim e1ad62cef1 include orignal json in worker error message 2023-12-10 20:36:24 +00:00
Jörg Thalheim d48cfadb3d fix catching eval errors on macOS 2023-12-10 20:36:24 +00:00
Jörg Thalheim c00fcbba8d drop obsolete compiler warning suppression 2023-12-10 20:36:24 +00:00
Jörg Thalheim b6ec7d2ecf make MyArgs non-copyable
this seems to have weird effects
2023-12-10 20:36:24 +00:00
Jörg Thalheim b24c03e2de simplify collector function
looks like the lambda doesn't buy us anything here.
2023-12-10 20:36:24 +00:00
Jörg Thalheim e7c30b306d don't fail nix-eval-jobs on eval errors
This error handling was copied by accident in 5c764d4a67 (diff-a79ded172fd76747492a417a39848b6c25c14238e65971e6a05fe81706d5048fR622)
2023-12-10 15:57:18 +00:00
Jörg Thalheim 36a5368dfc include missing filesystem header 2023-12-10 14:52:52 +00:00
Jörg Thalheim 3be8c48f54 fix format 2023-12-10 14:52:52 +00:00
Jörg Thalheim a03f039a56 split nix-eval-jobs further into smaller files 2023-12-10 14:52:52 +00:00
Jörg Thalheim 880c66a7d1 move drvs ot its own class 2023-12-10 15:07:38 +01:00
Jörg Thalheim db3099bc8f move argument parsing to new file 2023-12-10 14:22:32 +01:00
Jörg Thalheim 00d3f014e7 print error if worker receives invalid command 2023-12-10 10:25:15 +00:00
Jörg Thalheim 93972c0c18 handle broken evaluation worker pipes on write 2023-12-10 10:25:15 +00:00
Jörg Thalheim 5ad4e7266f handle broken evaluation worker pipes more gracefully
writeLine will throw a SysError exception, which obfuscates out-of-memory events where the eval worker is killed by the OS.
readLine is suffering from the same problem and will be handled in a subsequent commit.
2023-12-10 10:25:15 +00:00
Jörg Thalheim fad244725f print which derivation failed to evaluate 2023-12-10 08:31:27 +00:00
Jörg Thalheim d4eeecf6b2 fix commandline parsing for nix 2.19 2023-12-06 08:30:10 +00:00
Jörg Thalheim c240e61481 fix missing includes for nix 2.19 2023-12-06 08:30:10 +00:00
adisbladis cb9c7cac6b Fix iterating over input derivation outputs 2023-11-03 03:07:37 +00:00
adisbladis dd8affe264 Add missing include for eval-settings.hh 2023-11-03 03:07:37 +00:00
Jörg Thalheim 56f0464288 use platform instead of querySystem()
nix-build uses "system" from the derivation rather than the derivation attributes
2023-10-07 22:52:14 +02:00
Jörg Thalheim 15ec2c4663 print derivation name if system attribute is missing 2023-09-12 07:07:07 +00:00
Andrea Bedini f88571cfc9 Fix formatting 2023-07-14 07:09:40 +00:00
Andrea Bedini 15e5f5f7c8 Add --override-input 2023-07-14 07:09:40 +00:00
Andrea Bedini ab07651f74 Small refactor to avoid optional values 2023-07-14 07:09:40 +00:00
Jörg Thalheim 9e8320dbd6 fix c++20 warnings 2023-06-10 13:52:28 +02:00
Jörg Thalheim cace652bff fix build on darwin 2023-06-10 13:50:23 +02:00
Jörg Thalheim 7130e84e9e fix build 2023-06-10 13:34:42 +02:00
adisbladis 73ee1712fa
Merge pull request #207 from RaitoBezarius/input-drvs
feat: add inputDrvs to the JSON
2023-04-26 15:36:28 +12:00
raito 469a68d5c1 feat: add inputDrvs to the JSON
Currently, not a lot of things expose inputDrvs (except
`show-derivation`), which is a showstopper whenever you want to compute
popularity ranking based on the dependency relation.

Having `inputsDrvs` in the reply enable downstream users to perform such
computations in an efficient way.
2023-04-24 19:35:45 +02:00
Julien Malka 4d674c352e
fix recurseForDerivations evaluation in force-recurse mode 2023-04-24 17:17:47 +02:00
Jörg Thalheim e9c301bcbe document the worker/memory tradeoff 2023-04-13 23:23:51 +02:00
Jörg Thalheim 54a9b26431 fix build with nix 2.14 2023-03-09 22:21:59 +01:00
Jörg Thalheim 205f05ac02 fix build with 2.13 2023-01-22 11:19:24 +01:00
Jörg Thalheim 9d516a72d7 fix double-free caused by usage of shared pointer 2023-01-22 10:37:17 +01:00
Tom Bereknyei 7110a1a6c7 fix: catch errors for invalid derivations 2023-01-02 08:06:06 +01:00
Timothy DeHerrera c8b52f5836
fix: use InstallableFlake type & methods
Fixes #134

Use the `InstallableFlake` type in order to make use of it's `toValue`
method. This fixes the functor auto-call by including the work from
nixos/nix#6404.

Future work may make use of this object and its methods to employ the
flake based eval cache.
2022-11-04 09:37:54 -06:00
adisbladis 1af1893abe
Merge pull request #130 from nix-community/eval-store
Respect passed eval store
2022-10-18 14:51:11 +13:00
adisbladis e0c27dc984 Respect passed eval store 2022-10-18 14:46:37 +13:00
adisbladis b9836f2e06 Add parameter to force recursion (don't honour recurseIntoAttrs)
This can be useful when you are not in control over your expressions.

My use case is evaluating a Hydra jobset.
2022-10-18 14:42:26 +13:00
Jörg Thalheim 47a74fed83 also accept relative gc root directories 2022-09-20 20:12:55 +02:00
Jörg Thalheim 70afaeebca avoid shadowing metaName 2022-09-17 10:48:25 +02:00
Jörg Thalheim cb8126538f fix recurseIntoAttrs handling 2022-09-15 11:04:12 +02:00