mod campaign#

module campaign#

Persisted build-evaluation campaigns with typed failure findings.

Variables

const CAMPAIGN_SCHEMA_VERSION: u32#

Functions

fn claim_finding(state_path: &Path, finding_id: &str, owner: &str) -> Result<CampaignState, CampaignError>#
fn classify_build_failure(stage: &str, stdout: &str, stderr: &str, exit_code: Option<i32>) -> BuildFindingClass#
fn resolve_finding(state_path: &Path, finding_id: &str, owner: &str, resolution: FindingResolution) -> Result<CampaignState, CampaignError>#
fn run_campaign(request: &CampaignRequest) -> Result<CampaignState, CampaignError>#

Enums

enum BuildFindingClass#
Transport#
Executor#
Runtime#
Checksum#
Patch#
DependencyMissing#
Configure#
Compile#
Test#
Install#
Sanity#
Resource#
Timeout#
Unknown#
enum CampaignError#
InvalidBundle(String)#
UnsupportedSchema(u32)#
StateIdentity#
Busy(PathBuf)#
FindingNotFound(String)#
FindingOwned#
id: String#
owner: String#
FindingState#
id: String#
status: FindingStatus#
Target(TargetError)#
Io(PathBuf, std::io::Error)#
Json(PathBuf, serde_json::Error)#
enum CampaignStatus#
Planned#
Running#
Failed#
Completed#
enum FindingDisposition#
Mechanical#
Retryable#
RequiresJudgment#
TargetRepair#
enum FindingStatus#
Open#
InProgress#
Resolved#
Superseded#

Structs and Unions

struct BuildFinding#
id: String#
class: BuildFindingClass#
disposition: FindingDisposition#
stage: String#
recipe: String#
target: String#
summary: String#
evidence: String#
command: CommandPlan#
exit_code: Option<i32>#
attempt: u32#
status: FindingStatus#
owner: Option<String>#
resolution: Option<FindingResolution>#
struct CampaignEvent#
attempt: u32#
status: CampaignStatus#
recipe: Option<String>#
detail: String#
struct CampaignRequest#
bundle: PathBuf#
target: BuildTarget#
state_path: PathBuf#
struct CampaignState#
schema_version: u32#
package: String#
version: String#
bundle: String#
target: String#
status: CampaignStatus#
attempts: u32#
claims: ClaimLadder#
current_recipe: Option<String>#
findings: Vec<BuildFinding>#
history: Vec<CampaignEvent>#
struct ClaimLadder#
resolves: bool#
builds: bool#
binary_verified: bool#
struct FindingResolution#
action: String#
evidence: String#
changes: Vec<String>#