Route CLI delivery through the facade
This commit is contained in:
@@ -38,11 +38,21 @@ only missing assets, and reports conflicts without replacing content.
|
||||
|
||||
With no build targets, delivery is page-only: no builder, version smoke check,
|
||||
receipt, binary asset, or checksum manifest is involved. With selected targets,
|
||||
the command builds the tagged source into temporary storage and delivers the
|
||||
result. To use artifacts built separately, pass `--assets DIR`; the directory
|
||||
must contain the private `.releasekit-build.json` receipt created by `build`.
|
||||
ReleaseKit checks the receipt's repository, commit, version, resolved build
|
||||
settings, and file hashes before making a remote request.
|
||||
one `deliver` invocation builds the tagged source through the facade into
|
||||
temporary storage and delivers the result. To retain artifacts for a retry or
|
||||
separate credentials between build and delivery, use two invocations:
|
||||
|
||||
```sh
|
||||
releasekit build --output dist v1.2.3
|
||||
RELEASEKIT_GITEA_TOKEN="$GITEA_TOKEN" releasekit deliver --assets dist v1.2.3
|
||||
```
|
||||
|
||||
The build command does not need delivery credentials. The `--assets DIR`
|
||||
directory must contain the private `.releasekit-build.json` receipt created by
|
||||
`build`. ReleaseKit checks the receipt's repository, commit, version, resolved
|
||||
build settings, and file hashes before making a remote request; caller-owned
|
||||
files remain available for retries. Ordinary `deliver` does not download
|
||||
application dependencies or change the checkout.
|
||||
|
||||
The result reports `complete`, `partial`, `conflict`, `unknown`, or
|
||||
`not_attempted`, along with matching, uploaded, pending, conflicting, and
|
||||
@@ -123,18 +133,15 @@ The binary profile must declare its build targets.
|
||||
|
||||
The tag workflow fetches the event tag, verifies that the tag resolves to
|
||||
`CI_COMMIT_SHA`, and checks out that commit detached. Woodpecker shares the
|
||||
repository workspace between sequential steps, so the installed executable,
|
||||
Go caches, build outputs, and build receipt remain available to later steps.
|
||||
The workflow keeps its `.releasekit/` directory out of Git status using the
|
||||
checkout's local exclude file.
|
||||
repository workspace between sequential steps, so the installed executable
|
||||
and Go caches remain available. The workflow keeps its `.releasekit/` directory
|
||||
out of Git status using the checkout's local exclude file.
|
||||
|
||||
Preparation can access the Go module proxy to install the pinned ReleaseKit
|
||||
executable. The binary workflow also runs `go mod download` before the build.
|
||||
The later `releasekit build` command runs with `GOPROXY=off` and
|
||||
`GOTOOLCHAIN=local`; its declared binary targets and receipt are placed in
|
||||
`.releasekit/assets`. Delivery then passes that directory with `--assets`.
|
||||
The source-only workflow skips this build step and sends the committed note
|
||||
page directly. Neither template runs `check` or `publish`.
|
||||
executable. The binary workflow also runs `go mod download` before delivery.
|
||||
The single `releasekit deliver` invocation builds selected targets through the
|
||||
facade and uploads them with the release page. The source-only workflow sends
|
||||
the committed note page directly. Neither template runs `check` or `publish`.
|
||||
|
||||
Woodpecker runs delivery after the tag event, independently from the source
|
||||
publication result. Read its workflow status as delivery status: a delivery
|
||||
|
||||
Reference in New Issue
Block a user