| I'm sorry, I can't make sense of what you wrote, those "side benefits that using a programming language [in CI] actually unlocks". Could you please give a concrete example? > Need type checking at build time? done. It's not unlocked by Dagger since every CI can already do this. And it's almost always about launching a (shell) command. How is that line easier in Go/any-language than in yaml? > Need to import functions from other places? done You mean "import functions into the CI code"? Why would I need that? It's usually possible through plugin systems, but I've never felt the need to put complex code into CI actions. > Need a test framework? done. Is that a test framework to test the CI code from within the CI? I hope I'll never want one! I guess I completely misunderstood... On the other side of those "benefits", I can smell problems. For instance, when Docker images and Compose systems are built from the Dagger API. If the need for some advanced features comes in, this extra layer could prove costly. |
It sounds like you're not in need for most of the use cases but each of these points presents decent value at certain scales.