Preserve native exit codes in the release wrapper
This commit is contained in:
@@ -1,6 +1,9 @@
|
||||
# Command line
|
||||
|
||||
ReleaseKit currently provides five commands.
|
||||
ReleaseKit currently provides five commands. The exit statuses below belong
|
||||
to the native executable. `go run` examples are convenient for source execution,
|
||||
but the Go driver maps a nonzero child exit status to 1. Use the built executable
|
||||
or `./scripts/release` for publication when distinct statuses are needed.
|
||||
|
||||
Print the executable version:
|
||||
|
||||
|
||||
@@ -64,7 +64,9 @@ on success. Exit status 0 means publication is confirmed; status 1 means a
|
||||
known failure or conflict; status 2 means invalid input or profile; status 3
|
||||
means the push outcome remains unknown and requires resolution.
|
||||
|
||||
The CLI runs from the source tree being published, so this command also works
|
||||
The wrapper builds the native CLI into ignored `.releasekit/bin`, then invokes
|
||||
it directly to preserve its exit status. The CLI comes from the source tree
|
||||
being published, so this command also works
|
||||
for ReleaseKit's first release before any released ReleaseKit executable
|
||||
exists. It uses the local Go toolchain. Preparation must finish before the
|
||||
offline validation begins.
|
||||
|
||||
@@ -291,6 +291,8 @@ authentication. The Gitea suite passes.
|
||||
|
||||
### R8 — Medium: The release wrapper collapses documented exit codes
|
||||
|
||||
Status: Resolved.
|
||||
|
||||
Category: Executable integration and documentation correctness.
|
||||
|
||||
**Evidence:** [scripts/release](../../scripts/release), line 9, executes
|
||||
@@ -313,6 +315,12 @@ distribution, or external preparation gate.
|
||||
unknown-publication status 3, as well as ordinary success and known failure.
|
||||
Use local fixtures rather than a real publication endpoint.
|
||||
|
||||
**Resolution:** The source wrapper builds its native executable into ignored
|
||||
`.releasekit/bin` and invokes it directly. Documentation distinguishes native
|
||||
exit codes from `go run` driver behavior. Local-repository tests execute the
|
||||
actual wrapper and verify success 0, rejected publication 1, invalid input 2,
|
||||
and unresolved publication 3. The focused wrapper test passes.
|
||||
|
||||
### R9 — High: Manual recovery inspects the fetch endpoint
|
||||
|
||||
Category: Release recovery correctness and documentation gap.
|
||||
|
||||
Reference in New Issue
Block a user