Expand description
§dev-ci
CI workflow generator for the dev-* verification suite.
dev-ci does two things:
- Generate calibrated CI pipelines (
.github/workflows/ci.yml, others to follow) tailored to the dev-* features a project uses. - Run the suite end-to-end on pull requests (planned for later in the 0.9.x line — the runtime side ships as a GitHub Action).
§Quick example
use dev_ci::{Generator, Target};
let yaml = Generator::new()
.target(Target::GitHubActions)
.with_clippy()
.with_fmt()
.with_docs()
.with_msrv("1.85")
.generate();
assert!(yaml.contains("actions/checkout@v5"));§Determinism
Output is byte-deterministic for a given Generator configuration.
No clock reads, no random IDs, lists iterate in insertion order.
§What’s in 0.9.0
- GitHub Actions output (every job uses
actions/checkout@v5,Swatinem/rust-cache@v2, and the documented patterns from the existing dev-* suite CI). - Builder methods for the full standard surface:
testmatrix, feature toggles,clippy,fmt,docs,msrv, sibling path-dep cloning, cache toggle, custom workflow name + branches. - CLI binary (
dev-ci generate ...) wrapping the library.
Other targets (GitLab, Buildkite, CircleCI) and the runtime-action side are planned for later 0.9.x releases.
Structs§
- Generator
- Builder for a CI workflow document.
- PathDep
- A sibling path-dependency that the CI workflow should
git clonebefore running cargo.
Enums§
- Target
- Supported CI target platforms.