A better way to ship. Test any codebase end-to-end, repeatably and at scale. Runs locally, in your CI server, or directly in the cloud.

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 🧵
5
9
32
10,889
Dagger retweeted
CI will continue to be a bottleneck for most orgs unless there's a true investment in rebuilding the factory with the right primitives. We've been working on it for the past 5 years @dagger_io. Bigger machines won't fix your CI.
Test workloads are build workloads; test bottlenecks are build bottlenecks. It's time for a new kind of scheduler, that can run all our builds and tests as an integrated workload rather than dislocated siloes. Then we'll wonder how we ever tolerated CI this slow and wasteful.
1
1
3
822
Dagger retweeted
Solomon was ahead of the curve with creating Docker and is ahead again. The discipline associated with (fast) automated testing applied today is a major contributor to the difference between 1x and 100x. The potential difference between utter failure and spectacular success.
Test workloads are build workloads; test bottlenecks are build bottlenecks. It's time for a new kind of scheduler, that can run all our builds and tests as an integrated workload rather than dislocated siloes. Then we'll wonder how we ever tolerated CI this slow and wasteful.
1
2
403
Dagger retweeted
Test workloads are build workloads; test bottlenecks are build bottlenecks. It's time for a new kind of scheduler, that can run all our builds and tests as an integrated workload rather than dislocated siloes. Then we'll wonder how we ever tolerated CI this slow and wasteful.
3
5
18
6,234
Dagger retweeted
What's your favorite story of CI gone wrong?
1
3
5
2,108
Dagger retweeted
Guys I promise you, emulating Github Actions locally will not fix your CI. Stop doing this to yourselves.
21
7
130
16,543
Dagger retweeted
When I want to deep dive into what's happening in CI, I reach for @dagger_io (which is what I use in CI to deploy all the Workers, IaC things, and build 10+ docker images). Dagger provides traces so I can see where the time is being spent (and optimize CI times)
1
3
6
772
Previously I'd run my entire release process through GitHub CI and one of the key things is GitHub CI would have all of my secrets for release signing. That just doesn't seem like a smart idea anymore. I'm moving my release process client-side. The only thing that matters is it's portable and that's easy enough to do with a Docker container. Hey maybe I should use @dagger_io. That's a decent sales pitch for Dagger. Run portable, predictable processes client-side to ensure greater security. It's not that I think GitHub is inherently insecure. It's just with the rise of AI it's just getting scary.
2
1
10
1,589
Dagger retweeted
Replying to @charliermarsh
And @dagger_io CI is ✅
1
3
672
Dagger retweeted
This looks beautiful!
1
3
481
Dagger retweeted
FYI. This week we're moving Dagger Cloud to Absurd by @mitsuhiko. Will share our experience if anyone's interested. cc @marcosnils @matiaspan26
9
5
45
18,697
Dagger retweeted
When the creator of Docker rewrites buildkit, people should pay attention:
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. dagger.io/changelog/#project…
1
1
15
1,821
Dagger retweeted
Update: we merged it 😅 The next release of Dagger will be buildkit-free.
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. dagger.io/changelog/#project…
6
11
86
16,383
Dagger retweeted
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. dagger.io/changelog/#project…
12
16
130
34,878
Dagger retweeted
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!
6
6
66
10,357
Dagger retweeted
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. dagger.io/blog/cache-control…
2
8
44
17,855
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. dagger.io/blog/cache-control…
1
8
33
10,816
Dagger retweeted
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.
The only 4 jobs that will remain at tech companies. Credits: @yrechtman
3
26
4,566