Dagger Programmable CI/CD
Build CI/CD pipelines as code with Dagger — containerized, language-native SDKs in Go, Python, TypeScript, Java. Eliminates YAML pipeline drift between local and CI by running the same pipeline anywhere.
This skill helps you migrate from YAML CI to Dagger. It writes pipeline modules in Go/Python/TypeScript, defines reusable functions for build/test/scan/deploy, configures Dagger Cloud for tracing and caching, integrates with GitHub Actions / GitLab CI / CircleCI as the runner, and uses the Dagger module registry to share pipeline components. Covers the mental model shift (containers + code, not YAML), and patterns for migrating large existing workflows incrementally.
When to use
Use when YAML pipelines have become unmaintainable, debugging CI failures means pushing 'fix CI' commits, you need to run the exact same pipeline locally, or you want to share pipeline logic across teams as code modules.
Examples
Migrate GitHub Actions to Dagger
Replace a YAML workflow with a Dagger pipeline
Convert my GitHub Actions workflow (build, test, lint, deploy) into a Dagger TypeScript module, with GitHub Actions just calling 'dagger call ci'
Shared build module
Create a reusable build function for monorepo apps
Build a Dagger module in Go that builds, tests, and pushes Docker images for any Node.js app in our monorepo, with intelligent layer caching