Skip to main content

Module await_processing

Module await_processing 

Source
Expand description

Block until App Store Connect finishes processing an uploaded build.

xcrun altool --upload-package returns as soon as the binary is accepted for delivery, long before App Store Connect finishes processing it. Processing is the step that turns a freshly uploaded build VALID (ready to attach to a version) or INVALID/FAILED (a binary rejection) — the signal that actually confirms an upload or a binary-rejection fix worked. This module polls BuildsApi::list_builds until a build reaches a terminal state or a timeout elapses.

The classification of a processingState string is a pure function (classify) so the terminal-vs-pending decision is unit-tested against the exact strings Apple returns, with the async polling loop kept separate. Like every result type in this crate, AwaitOutcome carries only identifiers and state — never key or binary material.

Structs§

AwaitConfig
How long to wait and how often to re-check, for await_processing.
AwaitOutcome
The result of waiting on a build, as reported to callers. Identifiers and state only — no key or binary material, per the crate’s result-type rule.

Enums§

ProcessingClass
How a build’s processingState reads: either it’s settled (and how), or App Store Connect is still working on it.

Functions§

await_processing
Poll BuildsApi::list_builds for app_id narrowed by filter until the newest matching build reaches a terminal processingState, or config’s timeout elapses.
classify
Classify a build’s processingState (case-insensitively, since the field is a fixed Apple enum but we don’t want a casing change to read as “still pending” forever).