Skip to main content

diffler_ci/
lib.rs

1//! Provider-agnostic CI run/job/log acquisition for diffler.
2//!
3//! Adapters (`providers/`) implement [`CiProvider`] over each forge — CLI-only
4//! today (`gh`, `glab`) via the [`CommandRunner`] seam — and normalize results
5//! into [`model`] types. The host maps [`RunDetail`] onto a `diffler_graph::Model`
6//! and drives polling; this crate does no rendering and holds no credentials.
7
8mod detect;
9mod error;
10mod exec;
11mod model;
12mod provider;
13mod providers;
14
15pub use detect::{Detected, detect};
16pub use error::{CiError, Result};
17pub use exec::{CommandRunner, RealRunner};
18pub use model::{
19    Annotation, AnnotationLevel, Artifact, Capabilities, CiJob, CiRun, DagSource, JobId, JobStatus,
20    LogChunk, LogMode, LogStepMeta, PullRequest, RunDetail, RunExtras, RunId, ts_sort_key,
21};
22pub use provider::{CiProvider, ProviderKind};
23pub use providers::{GitHubProvider, GitLabProvider};