Add reusable CI preparation operations

This commit is contained in:
2026-10-06 18:59:29 +00:00
parent 579daa9485
commit d970aac709
9 changed files with 511 additions and 4 deletions

View File

@@ -1,6 +1,6 @@
# ReleaseKit audit implementation plan
Status: Stages 1–7 complete; Stage 8 next.
Status: Stages 1–8 complete; Stage 9 next.
Baseline: `e4be7fa` (2026-10-06). The [audit](audit.md) records the evidence,
product goals, and selected direction. This document owns implementation order
and completion criteria for that work.
@@ -412,6 +412,18 @@ uses the repository and preparation environment and propagates failure and
cancellation. Keep default tests offline with a local module cache or a small
Go-command fixture; no live module server is needed.
**Completed:** The root facade now exposes `PrepareTaggedCheckout` and
`PrepareBuildDependencies`. Checkout preparation fetches an explicit tag
refspec, compares the peeled commit with the expected full object ID, and
detaches only after a match; tests cover default and selected remotes, wrong
commits, conflicting local edits and tags, and input rejection before fetch.
Dependency preparation runs `go mod download` with workspace discovery off and
the local Go toolchain, preserving caller proxy, private-module, and cache
settings; subprocess fixtures verify repository selection, failure details,
and cancellation without network access. GoDoc, the delivery consumer guide,
and the internal inventory describe effects and ownership. The full offline
suite, API boundary check, and documentation whitespace checks pass.
## Stage 9 — Add the shared CI delivery command
**Covers:** the shared command portion of F6.