News for hackers. Stuff that matters.
Re:Dagger: Define software delivery workflows and dev enviro... by esafak on Sunday December 14, 2025 @08:36AM (#46262914)
I wouldn't because build systems like Bazel are declarative and dagger is imperative. I accidentally created a build system in dagger and saw the difference; the code based way was highly branched, and thus unwieldy. I think you would want to call bazel from dagger to handle the build step.
Re:Dagger: Define software delivery workflows and dev enviro... by mxey on Sunday December 14, 2025 @10:15AM (#46263616)
Dagger uses BuildKit. all your “imperative” code does it assemble a graph that’s gonna be executed by BuildKit in dependency order.
Re:Dagger: Define software delivery workflows and dev enviro... by Too on Sunday December 14, 2025 @11:12AM (#46264087)
But that dependency order is usually just one big blob of ”COPY src/ . + RUN make”, within that block you have none of the benefits. Bazel/Buck has much finer awareness down to every individual file.

Out of curiosity, would it be feasible to take a big cmake project and generate thousands of compile rules into dagger and use it as a substitute for make with sandboxing? I’ve never seen builkit used with such many nodes, how would it fare?

Re:Dagger: Define software delivery workflows and dev enviro... by shykes on Sunday December 14, 2025 @12:39PM (#46264968)
Dagger is a declarative DAG engine. So, yes, you can do that.
Re:Dagger: Define software delivery workflows and dev enviro... by mxey on Sunday December 14, 2025 @01:16PM (#46265346)
There is an overhead per container launched so it would probably not be worth it.
Re:Dagger: Define software delivery workflows and dev enviro... by esafak on Sunday December 14, 2025 @10:18AM (#46263640)
Yes, but that does not help you build declaratively in dagger, does it? I would like to see an example of how to do so, if you have one.