arianvanp 4 days ago

Use a modern hermetic build system with remote caching or remote execution. Nix, Bazel, buck, pants. Many options

  • pwnna 4 days ago

    This is like fighting complexity with even more complexity. Nix and bazel are definitely not close to actually achieving hermetic build at scale. And when they break the complexity increases exponentially to fix.

    • pxc 4 days ago

      What's not hermetic with Nix? Are you talking about running with the sandbox disabled, or and macOS quirks? It's pretty damn hard to accidentally depend on the underlying system in an unexpected way with Nix.

      • wredcoll 4 days ago

        My experience with nix, at a smaller scale than what you're talking about, is that it only worked as long as every. single. thing. was reimplemented inside nix. Once one thing was outside of nix, everything exploded and writing a workaround was miserable because the nix configuration did not make it easy.

fireflash38 4 days ago

Even just makefiles have 'caching', provided you set dependencies and output correctly.

A good makefile is really nice to use. Not nice to read or trace unfortunately though.

reactordev 3 days ago

We get them with docker.

Everything becomes a container so why not use the container engine for it. If you know how layers work…