|
|
|
|
|
by throwaway894345
2385 days ago
|
|
I agree with your point, but make solves the problem rather poorly. Besides the poor UX, it only knows the thing it built most recently, as opposed to maintaining a cache of things it has _ever_ built. And since it doesn't have a cache, it definitely doesn't have a distributed cache, although you could conceivably try to shoehorn NFS or something similar. Lastly, it's not reproducible. It's not going to fail a build if you accidentally let it depend on a file that isn't a formally specified dependency. These are all important concerns, especially for a CI environment. Something like Bazel theoretically solves this problem, but it's poorly documented and non-trivial to use or operate. Other Bazel/Blaze derivatives are worse with respect to usage/operation/correctness. Nix improves on correctness but is even harder to use/operate. There's a lot of room for improvement in this space. |
|
>Something like Bazel theoretically solves this problem, but it's poorly documented and non-trivial to use or operate. Other Bazel/Blaze derivatives are worse with respect to usage/operation/correctness.
I have night terrors from listening to two of our packagers fighting against bazel, tensorflow and 10 hour compile times.
>Nix improves on correctness but is even harder to use/operate. There's a lot of room for improvement in this space.
I don't think Nix improves anything when you are stuck writing a weird javascript derivative. This comes from a packager writing bash for a living.