Clarify delivery exit statuses by failure phase

This commit is contained in:
2026-11-01 19:26:30 +00:00
parent 7b5c1285a2
commit 6bed1cd691
4 changed files with 97 additions and 12 deletions

View File

@@ -208,10 +208,14 @@ first and then run `deliver --assets DIR` with the token available. The ordinary
`deliver` command does not download application dependencies or change the
checkout.
The command returns 0 for complete delivery, 1 for an unavailable preflight,
cancellation, known delivery failure, conflict, or partial delivery, 2 for
usage, profile, forge-selection, credential, known permission deficiency, or
inaccessible-destination errors, and 3 when a remote write remains uncertain.
The command returns 0 for complete delivery, 1 for an unavailable preflight or
a known delivery failure, conflict, or partial delivery, and 2 for usage,
profile, forge-selection, local credential-loading, or classified preflight
configuration/access errors. A remote write whose outcome remains uncertain
returns 3, including when cancellation prevents reconciliation. Cancellation
without an unresolved write returns 1, including during preflight or
preparation. Later authorization failures follow
the delivery outcome: known failure returns 1; an unresolved write returns 3.
The result lists matching, uploaded, pending, conflicting, and uncertain assets
as disjoint current observations;
early failures may leave some declared assets unreported. On failure, the CLI
@@ -258,11 +262,12 @@ tag arguments. The event ID may identify an annotated tag object; see the
[delivery guide](consumers/delivery.md#woodpecker-tag-workflows) for resolution
and workflow preparation. The CLI does not read
provider-specific environment variable names. Checkout and dependency
preparation failures, unavailable preflight, and cancellation return status 1;
usage, profile, forge-selection, credential, known permission deficiency,
inaccessible-destination, and invalid-version errors return status 2. Final
delivery uses the same statuses as `deliver`: 0 for complete, 1 for known
failure, conflict, or partial delivery, and 3 for uncertain remote state.
preparation failures, unavailable preflight, and cancellation during those
steps return status 1. Usage, profile, forge-selection, local credential-loading,
classified preflight configuration/access, and invalid-version errors return
status 2. Final delivery uses the same statuses as `deliver`: 0 for complete,
1 for known failure, conflict, or partial delivery, and 3 for uncertain remote
state, including when cancellation prevents reconciliation.
The maintained module-based tag workflow verifies and checks out the event tag
before resolving the consumer module. It builds the ReleaseKit version already