pub struct BuildCompleteReport {
pub task_id: String,
pub attempt: u32,
pub success: bool,
pub partial: bool,
pub error: Option<String>,
pub artifacts_uploaded: u32,
pub github_run_id: Option<String>,
}Expand description
CI reports job completion to the scheduler DO.
Fields§
§task_id: StringScheduler task identifier, echoing BuildTaskPayload::task_id.
attempt: u32Queue attempt this report belongs to, echoing
BuildTaskPayload::attempt. The scheduler applies the report only
when it matches the row’s live attempt in a dispatched/running
state; anything else is a stale or duplicate report and conflicts.
Defaults to 0, which matches no row (attempts start at 1).
success: boolWhether the build, sign, push, and registration all succeeded.
partial: boolThe build stopped early: a cargo phase exited non-zero before the
unit graph finished, and the run registered the artifacts it
captured up to the failure instead of nothing at all. Only
meaningful when success is false — artifacts_uploaded then
counts the published prefix, never the task’s whole closure.
Absent from reports written before the field existed.
error: Option<String>Failure description when success is false.
artifacts_uploaded: u32Number of artifacts uploaded (including transitive deps).
github_run_id: Option<String>GitHub Actions run id the report came from. CI leaves it None;
the edge overwrites it with the OIDC token’s run_id claim before
forwarding, so the queue row carries the run that produced it.