Remix.run Logo
jiehong 13 hours ago

Anybody used it?

Without the LLM bits, this is basically like Bazel or buck2, right?

dilyevsky 8 hours ago | parent | next [-]

Works fine for us for glueing a bunch of CI steps together which would've been a pile of bash otherwise. Works well with depot.dev caches. We don't use it for anything AI either.

kylegalbraith 8 hours ago | parent [-]

Founder of Depot here! Glad to hear it’s working for you all. Always happy to help expand things or make things better if you ever have ideas.

esafak 12 hours ago | parent | prev | next [-]

No, it's code based CI/CD not a build system.

ndrpnt 12 hours ago | parent | next [-]

I'd say it's somewhere in between. Sure it's marketed in the CI space, but to me the selling point of Dagger is not so much "write your GitHub workflows/GitLab CI in JavaScript" but "local exec, sandboxing, determinism, and fine-grained (remote) caching for mere mortals". So comparing it to Bazel/Buck2 is reasonable.

esafak 12 hours ago | parent | next [-]

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.

mxey 10 hours ago | parent [-]

Dagger uses BuildKit. all your “imperative” code does it assemble a graph that’s gonna be executed by BuildKit in dependency order.

Too 10 hours ago | parent | next [-]

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?

shykes 8 hours ago | parent | next [-]

Dagger is a declarative DAG engine. So, yes, you can do that.

mxey 7 hours ago | parent | prev [-]

There is an overhead per container launched so it would probably not be worth it.

esafak 10 hours ago | parent | prev [-]

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.

justincormack 12 hours ago | parent | prev [-]

Its not as fine grained as bazel/buck. That doesnt necessarily matter.

elryry 12 hours ago | parent | prev [-]

Yeah, it's more like a .NET Aspire

lowmagnet 12 hours ago | parent | prev [-]

I use it to do builds in our monorepo. We got onboard before the LLM trash features. The base design is ok but there's things I'd do different today if I knew the build stuff would fade away for the LLM push.