Complete module release documentation
This commit is contained in:
@@ -6,6 +6,7 @@ annotated source tag:
|
||||
```go
|
||||
result, err := releasekit.Publish(ctx, releasekit.ReleaseRequest{
|
||||
RepositoryDir: "/work/project",
|
||||
ModuleDir: "integrations/example",
|
||||
Product: "Example",
|
||||
Version: "v1.2.3",
|
||||
ExpectedPushURL: "ssh://git.example/owner/example.git",
|
||||
@@ -19,9 +20,22 @@ result, err := releasekit.Publish(ctx, releasekit.ReleaseRequest{
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
fmt.Println(result.Version, result.CandidateCommit, result.TagObject)
|
||||
fmt.Println(result.ModulePath, result.Version, result.Tag, result.CandidateCommit, result.TagObject)
|
||||
```
|
||||
|
||||
`ModuleDir` is a repository-relative physical module directory; omit it or use
|
||||
`.` for a root-module release. ReleaseKit reads the selected module's committed
|
||||
declaration and derives the complete Git tag from its declared module path and
|
||||
physical location. `Version` remains the stable semantic version. The note is
|
||||
`<module>/docs/releases/<version>.md`; an on-disk `/v2` directory is part of
|
||||
the note path but is removed from the tag prefix only when the module path ends
|
||||
in `/v2`. `PublicationResult` returns the absolute `ModuleDir`, declared
|
||||
`ModulePath`, complete `Tag`, and existing commit and tag-object evidence.
|
||||
|
||||
The optional `ValidationSpec.SharedFiles` selects additional committed files
|
||||
for enabled file checks. Its nil and empty-slice behavior is described in the
|
||||
[candidate check guide](check.md#local-candidate-check).
|
||||
|
||||
Publication captures a clean candidate on `main`, validates its committed
|
||||
release note, and checks the selected remote before running candidate checks.
|
||||
Set `ExpectedPushURL` to require the effective push destination to match an
|
||||
|
||||
Reference in New Issue
Block a user