Document neutral forge delivery and preflight
This commit is contained in:
43
docs/cli.md
43
docs/cli.md
@@ -168,15 +168,17 @@ tree and does not perform candidate validation or remote publication. `check`
|
||||
and `publish` run the same configured build after their one candidate
|
||||
validation, using temporary output outside the worktree.
|
||||
|
||||
Deliver a tagged source release to Gitea:
|
||||
Deliver a tagged source release:
|
||||
|
||||
```sh
|
||||
go run ./cmd/releasekit deliver [--repo DIR] [--config FILE] [--assets DIR] VERSION
|
||||
```
|
||||
|
||||
`deliver` requires a `delivery` profile object and a token loaded from its
|
||||
configured environment variable or token file. Credential selection and errors
|
||||
are defined in the [configuration reference](config.md). It verifies
|
||||
`deliver` requires a `delivery` profile object with an explicit
|
||||
`"forge": "gitea"` selection and a token loaded from its configured environment
|
||||
variable or token file. The destination URL does not select a forge. Selection
|
||||
errors are reported before token access or delivery work. Credential selection
|
||||
and errors are defined in the [configuration reference](config.md). It verifies
|
||||
the local tag, clean tagged checkout, hosted tag, and committed release note,
|
||||
then creates or finds the release page and reports delivery state separately
|
||||
from source publication. Historical lightweight tags and detached checkouts
|
||||
@@ -195,16 +197,23 @@ Profiles without targets use page-only delivery
|
||||
and need no receipt, binary build, or manifest. `deliver` never runs candidate
|
||||
checks or publishes a tag.
|
||||
|
||||
After cheap local checks, delivery performs authenticated, read-only repository
|
||||
preflight before a managed build or full artifact size and digest verification.
|
||||
An unavailable preflight leaves delivery `not_attempted`; after preflight
|
||||
succeeds, local artifact verification still finishes before any hosted write.
|
||||
|
||||
Use one `deliver` invocation for the normal workflow. To build without delivery
|
||||
credentials, or to retain build output across retries, run `build --output DIR`
|
||||
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 a known failure, conflict,
|
||||
or partial delivery, 2 for usage, profile, or missing-credential errors, and 3
|
||||
when a remote write remains uncertain. The result lists matching, uploaded,
|
||||
pending, conflicting, and uncertain assets as disjoint current observations;
|
||||
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 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
|
||||
prints state-based recovery guidance. Fix local or preflight failures before
|
||||
retrying; fix the reported cause before retrying partial delivery; resolve an
|
||||
@@ -231,10 +240,11 @@ verifies the tag, HEAD, and clean worktree. With `--prepared`, it performs those
|
||||
checks read-only against the existing checkout and does not fetch or check out.
|
||||
In either mode, it loads the profile from the verified source. `--expected-module`
|
||||
optionally checks that the profile selects the module chosen by a launcher;
|
||||
module selection itself remains profile-owned. The command validates delivery
|
||||
settings and the configured token, then downloads application dependencies only
|
||||
when the profile selects build targets. Binary profiles are built and delivered
|
||||
through the same facade path as `deliver`; source-only profiles skip dependency
|
||||
module selection itself remains profile-owned. The command validates explicit
|
||||
forge selection and resolves the configured token. For binary profiles, it
|
||||
performs a read-only repository preflight before downloading application
|
||||
dependencies; delivery performs a fresh check after dependency preparation.
|
||||
Source-only profiles rely on delivery's automatic preflight and skip dependency
|
||||
downloads and binary builds.
|
||||
`--config` follows the existing profile path rules: relative paths are resolved
|
||||
from `--repo`, and absolute paths are used as-is. The default mode prepares and
|
||||
@@ -248,10 +258,11 @@ 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 return status 1; usage, profile, credential, 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 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.
|
||||
|
||||
The maintained module-based tag workflow verifies and checks out the event tag
|
||||
before resolving the consumer module. It builds the ReleaseKit version already
|
||||
|
||||
Reference in New Issue
Block a user