Skip to main content

GithubJobResumeV1

Struct GithubJobResumeV1 

Source
pub struct GithubJobResumeV1 {
Show 46 fields pub schema_version: u32, pub provider: String, pub provider_config_sha256: String, pub principal: GithubPrincipalIdentityV1, pub execution_repository: String, pub execution_repository_id: u64, pub source_repository: String, pub trusted_source_ref: String, pub workflow_path: String, pub workflow_sha256: String, pub temporary_ref: String, pub operation_id: String, pub job_id: String, pub request: IosDeviceBuildRequest, pub request_sha256: String, pub source_revision: String, pub git_snapshot: Option<GithubGitSnapshotResumeV1>, pub prepared_dispatch_commit: Option<String>, pub dispatch_commit: Option<String>, pub workflow_dispatch: Option<Box<GithubWorkflowDispatchResumeV1>>, pub run: Option<GithubRunIdentityV1>, pub created_at_ms: u64, pub publication_started_at_ms: u64, pub publication_quiescence_deadline_ms: u64, pub state: JobState, pub publication_intent: bool, pub publication_uncertain: bool, pub publication_absent: bool, pub publication_not_attempted: bool, pub publication_process_fenced: bool, pub publication_lease_scope_sha256: Option<String>, pub publication_absence_observations: u8, pub publication_absence_first_observed_at_ms: u64, pub cancellation_requested: bool, pub cancellation_dispatched: bool, pub cleanup_requested: bool, pub remove_artifacts_requested: bool, pub artifacts_removed: bool, pub temporary_ref_deleted: bool, pub verification_pending_event: bool, pub run_discovery_attempts: u16, pub run_discovery_deadline_ms: u64, pub manifests: Vec<ArtifactManifest>, pub compile_evidence: Option<CompilePhaseEvidence>, pub signed_cleanup_evidence: Option<GithubSignedCleanupEvidenceV1>, pub events: Vec<RemoteBuildEvent>,
}
Expand description

Versioned, secret-free durable state for one GitHub provider job.

Fields§

§schema_version: u32

Resume-record schema version; currently 1.

§provider: String

Stable provider identifier.

§provider_config_sha256: String

Digest of security-relevant provider configuration.

§principal: GithubPrincipalIdentityV1

Authenticated principal kind and identity.

§execution_repository: String

Exact execution repository URL.

§execution_repository_id: u64

Stable GitHub database ID of the exact execution repository.

§source_repository: String

Exact source repository URL.

§trusted_source_ref: String

Exact trusted source ref.

§workflow_path: String

Exact approved workflow path.

§workflow_sha256: String

Exact approved workflow digest.

§temporary_ref: String

Exact full provider-owned temporary ref.

§operation_id: String

Caller operation identifier.

§job_id: String

Provider job identifier.

§request: IosDeviceBuildRequest

Complete declarative request; contains references, never secret values.

§request_sha256: String

Canonical wire-request SHA-256.

§source_revision: String

Exact requested source commit.

§git_snapshot: Option<GithubGitSnapshotResumeV1>

Exact Git snapshot stage/ref checkpoint, absent for formal legacy Git jobs.

§prepared_dispatch_commit: Option<String>

Deterministic dispatch commit prepared after read-only trust preflight and before mutation.

§dispatch_commit: Option<String>

Exact published dispatch commit when publication was observed.

§workflow_dispatch: Option<Box<GithubWorkflowDispatchResumeV1>>

Explicit workflow-dispatch intent and optional exact run receipt.

Absence is canonical for every legacy or Push-triggered record.

§run: Option<GithubRunIdentityV1>

Last exact run identity and attempt observed through GET revalidation.

§created_at_ms: u64

Provider creation timestamp.

§publication_started_at_ms: u64

Durable push-boundary timestamp; zero means publication was prepared but never armed.

§publication_quiescence_deadline_ms: u64

Earliest safe absence-retirement time; u64::MAX while the boundary is unarmed.

§state: JobState

Current protocol-v1 job state.

§publication_intent: bool

A durable checkpoint was written before temporary-ref publication began.

§publication_uncertain: bool

Publication may have completed without a conclusive response.

§publication_absent: bool

Strong external evidence proved publication absent; ref absence alone is insufficient.

§publication_not_attempted: bool

This provider invocation ended before any remote mutation was attempted.

This does not assert that the deterministic ref name is globally absent or provider-owned.

§publication_process_fenced: bool

Publication held an exclusive process lease and its child tree was parent-lifetime fenced.

§publication_lease_scope_sha256: Option<String>

Digest of the canonical local lease directory; absent when leasing is unsupported.

§publication_absence_observations: u8

Capped independent observations that both the exact ref and exact run history were absent.

§publication_absence_first_observed_at_ms: u64

Timestamp of the first exact ref-and-run absence observation; zero before any observation.

§cancellation_requested: bool

Cancellation intent was accepted locally.

§cancellation_dispatched: bool

Run-ID-wide cancellation was accepted by GitHub after exact identity/attempt revalidation.

§cleanup_requested: bool

Cleanup intent was accepted locally.

§remove_artifacts_requested: bool

Remote artifact removal was requested.

§artifacts_removed: bool

Exact-run artifact removal completed.

§temporary_ref_deleted: bool

Exact lease-protected temporary-ref deletion completed.

§verification_pending_event: bool

The verification-pending event has already been emitted.

§run_discovery_attempts: u16

Number of bounded exact-run discovery attempts already made.

§run_discovery_deadline_ms: u64

Absolute discovery deadline in Unix milliseconds.

§manifests: Vec<ArtifactManifest>

Independently verified artifact manifests retained by the provider.

§compile_evidence: Option<CompilePhaseEvidence>

Exact credential-free compile evidence retained after independent artifact verification.

§signed_cleanup_evidence: Option<GithubSignedCleanupEvidenceV1>

Attempt-scoped proof of protected signing-material cleanup, for signed builds only.

§events: Vec<RemoteBuildEvent>

Bounded validated protocol events retained by the provider.

Implementations§

Source§

impl GithubJobResumeV1

Source

pub fn validate_trigger_binding(&self) -> RemoteBuildResult<()>

Validate the trigger-specific durable projection without live configuration or credentials.

§Errors

Rejects a forged or incomplete WorkflowDispatch intent, receipt, correlation title, run identity, or a legacy Push record carrying repository-scoped identity.

Source

pub fn encode(&self) -> RemoteBuildResult<Vec<u8>>

Encode one complete compact JSON checkpoint followed by a newline.

§Errors

Returns a typed serialization or size-bound failure.

Source

pub fn decode(bytes: &[u8]) -> RemoteBuildResult<Self>

Decode one bounded JSON checkpoint, rejecting duplicate and unknown fields.

§Errors

Returns a secret-free typed failure for empty, oversized, duplicate-key, trailing, or structurally invalid JSON. Provider identity is revalidated by restore_job_resumes.

Source

pub fn validate_successor(&self, next: &Self) -> RemoteBuildResult<()>

Validate that next is a non-stale complete replacement for this checkpoint.

This validates revision ordering only. A decoded record still requires provider-specific configuration and live identity validation through GithubBuildProvider::restore_job_resumes.

§Errors

Returns a secret-free typed failure when immutable identity changes or durable state, events, manifests, attempts, or mutation results regress.

Trait Implementations§

Source§

impl Clone for GithubJobResumeV1

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for GithubJobResumeV1

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for GithubJobResumeV1

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for GithubJobResumeV1

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl Serialize for GithubJobResumeV1

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for GithubJobResumeV1

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.