1.3 KiB
Local candidate check
Use releasekit.Check to verify a candidate against the current local
repository state:
result, err := releasekit.Check(ctx, releasekit.ReleaseRequest{
RepositoryDir: "/work/project",
Product: "Example",
Version: "v1.2.3",
Validate: func(ctx context.Context, candidate releasekit.Candidate) error {
return runProjectChecks(ctx, candidate.RepositoryDir)
},
})
if err != nil {
return err
}
fmt.Println(result.Version, result.Commit)
The repository must have a clean index and worktree on main, and the selected
version must be stable vMAJOR.MINOR.PATCH. The committed
docs/releases/<version>.md note must have a first Markdown H1 containing the
product name and exact version as complete title elements. No local tag with
that version may already exist.
The callback receives the captured repository, commit, and version. ReleaseKit calls it once. When omitted, ReleaseKit runs the offline Go test command. The check revalidates the branch, commit, and cleanliness after validation.
A successful check is evidence about the local candidate only. It does not
check whether a remote branch or tag is available and does not create a tag.
The check command reads the product and optional validation
commands from releasekit.json.