# POST3-009: CI pipeline with Dagger Rust SDK **Status:** Done **Priority:** P1 **Blocked by:** — ## Description Set up a Dagger-based CI pipeline using a custom self-contained `ci/` crate with `dagger-sdk` directly (not the external `cuddle-ci` / `dagger-rust` components, which are too opinionated for post3's context). ## What was built - [x] `ci/` added as workspace member - [x] `ci/Cargo.toml` with dependencies: dagger-sdk, eyre, tokio, clap - [x] `ci/src/main.rs` — custom pipeline with: - `pr` and `main` subcommands (clap CLI) - Source loading with dependency caching (skeleton files pattern from dagger-components) - `rustlang/rust:nightly` base with clang + mold 2.3.3 for fast linking - Dagger cache volumes for target/ and cargo registry - `cargo check --workspace` compilation check - PostgreSQL 18 as Dagger service container for integration tests - `cargo test --workspace -- --test-threads=1` against Dagger PG - Release binary build + packaging into `debian:bookworm-slim` - `post3-server --help` sanity check in final image - [x] `mise.toml` tasks: `ci:pr`, `ci:main` - [x] No container publish (deferred until registry is decided) ## Reference Pattern inspired by dagger-components (`/home/kjuulh/git/git.kjuulh.io/kjuulh/dagger-components`) but self-contained — no external git dependencies.