1.3 KiB
1.3 KiB
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
ci/added as workspace memberci/Cargo.tomlwith dependencies: dagger-sdk, eyre, tokio, clapci/src/main.rs— custom pipeline with:prandmainsubcommands (clap CLI)- Source loading with dependency caching (skeleton files pattern from dagger-components)
rustlang/rust:nightlybase with clang + mold 2.3.3 for fast linking- Dagger cache volumes for target/ and cargo registry
cargo check --workspacecompilation check- PostgreSQL 18 as Dagger service container for integration tests
cargo test --workspace -- --test-threads=1against Dagger PG- Release binary build + packaging into
debian:bookworm-slim post3-server --helpsanity check in final image
mise.tomltasks:ci:pr,ci:main- 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.