Dagger 0.19 is out, with a LOT of improvements:
- Better performance (more on the way!)
- Run Dagger without Docker
- Local container export
- First-class support for codegen workflows
- Build-an-agent! Run tiny coding agents directly in your workflows, with perfect context
🧵
FYI, Dagger is about to move off Buildkit, to a cleanroom reimplementation.
This matters beyond Dagger. Buildkit is load-bearing infrastructure for a huge chunk of CI/CD. It has fundamental limitations that are getting harder to work around, but it's too entrenched and complex to just rip out.
We've been chipping away at it for two years, replacing it piece by piece, and it's finally paying off. And we'll make sure the offramp is available to others too...
More once it ships. DM me (here or on discord) if you're curious.
https://t.co/xaunARRMnB
Say what you want about Jenkins... At least it was open-source.
There's a new cohort of CI vendors who like to make bold claims... Not bold enough to share their code, though!
If you want faster CI, focus on caching.
Dagger remains the only CI platform that caches every operation by default. Zero configuration needed.
That's not a feature you can bolt on: you have to design for incremental execution from day one. Then the performance gains compound👇
Introducing cache control for Dagger modules.
Dagger executes your CI pipelines incrementally: when a pipeline runs twice, it skips work that’s already done and can complete faster. This caching process happens automatically, sparing you the pain of maintaining fragile configuration files.
But until now, only system functions could be cached in this way, and not functions defined in a module...
So, as of Dagger 0.19.4, module functions are cached by default.
To cache module functions by default, we needed a way to know whether your function is pure. A function called deploy() looks the same as build() to the engine, and caching the wrong one would break your pipeline. The solution is to annotate deploy() to let us know that it has a side effect.
That is the purpose of cache control.
https://t.co/KVcIl4hFIX
The best teams are already collapsing this down to 2 jobs:
1. Front office: people who talk to customers and ship.
2. Back office: people who keep systems running.
Don't tolerate "hot people" who can't ship, or "slop cannons" who can't talk to users directly.
Shipped: GCP Secret Manager is now a native Dagger secret provider.
`gcp://my-secret` works with ADC, service account keys, and Workload Identity on GKE. No wrapper scripts, no shell glue.
That's four cloud secret backends supported natively: AWS, GCP, Vault, 1Password. Which one should we add next?
https://t.co/ofE2zZURzZ
Coming soon: `dagger check --failfast`
Designed to shorten your agent's feedback loop: instead of waiting for an entire suite to finish, agents get the first failure immediately and can start fixing it.
https://t.co/f3p7453eKL
🎥 Replay dispo !
Mon talk à la @CNDFrance est en ligne 🚀
Salle comble 🙏
🐳 @Docker Bake, builds en parallèle + présentation des features
⚙️ Bake dans les outils de CI CD, App Python + CI as Code avec @dagger_io
👉 Lien en commentaire
Merci à l’orga et à la communauté ❤️
How did we unlock a fully local, cached, reproducible build and release CI/CD that cross compiles Go CGO binaries? With @dagger_io and @ziglang of course!!
https://t.co/QD9Fdnfq4r
If your development loop in the agentic era feels somehow broken mostly because CI (looking at you GHA), you might want to check @dagger_io to help with that. Dagger gives syou:
- local first execution
- repeatable builds
- programmable API
- observability out of the box
👇