Expose tagged-source delivery through facade and CLI
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# ReleaseKit staged implementation plan
|
||||
|
||||
Status: In progress. Stages 1–14 are complete; later stages remain pending.
|
||||
Status: In progress. Stages 1–15 are complete; later stages remain pending.
|
||||
|
||||
Date: 2026-10-05
|
||||
|
||||
@@ -794,7 +794,7 @@ an ambiguous acknowledgment. Published manifest constraints hold across reruns.
|
||||
|
||||
## Stage 15: Expose tagged-source delivery through the facade and CLI
|
||||
|
||||
Status: Pending. Depends on Stage 14.
|
||||
Status: Complete. Depends on Stage 14.
|
||||
|
||||
1. Implement `Deliver`, its facade-owned request/result values, and conversions.
|
||||
Bind source note, resolved build settings, tag commit, and hosted repository
|
||||
@@ -818,6 +818,21 @@ receipt, tampered assets, and missing credentials prevent relevant writes.
|
||||
Candidate tests and Git publication are not run by delivery. A delivery failure
|
||||
leaves the existing source tag intact and reports only delivery failure.
|
||||
|
||||
Evidence: `releasekit.Deliver` and `releasekit deliver` now verify lightweight or
|
||||
annotated local tags from clean, attached or detached checkouts, compare the
|
||||
hosted tag commit, and use the note read from the tagged commit. The CLI loads
|
||||
delivery credentials only for delivery; it builds selected tagged-source
|
||||
artifacts in temporary storage or verifies a supplied build receipt and its
|
||||
artifact hashes before calling the facade. Page-only fixtures create and reuse
|
||||
the complete note without a main package, receipt, manifest, build, or upload.
|
||||
Binary fixtures build a tagged-source executable, upload it with `SHA256SUMS`,
|
||||
and accept matching page and asset content on rerun. Local server tests verify
|
||||
that wrong hosted and local commits, stale build settings, tampered receipt
|
||||
assets, and missing credentials prevent remote writes; the tag remains intact
|
||||
after delivery failure. `go test ./...`, `go run ./internal/apicheck`, and the
|
||||
Markdown whitespace check pass. All delivery checks use a local HTTP fixture;
|
||||
no live Gitea service or credentials were used.
|
||||
|
||||
## Stage 16: Provide the common Woodpecker integration
|
||||
|
||||
Status: Pending. Depends on Stage 15.
|
||||
|
||||
Reference in New Issue
Block a user