Complete module release documentation
This commit is contained in:
@@ -27,7 +27,7 @@ or hosted content.
|
||||
```go
|
||||
err := releasekit.PrepareTaggedCheckout(ctx, releasekit.TaggedCheckoutRequest{
|
||||
RepositoryDir: repositoryDir,
|
||||
Version: version,
|
||||
Tag: "integrations/example/v1.2.3",
|
||||
ExpectedCommit: ciCommit,
|
||||
})
|
||||
if err != nil {
|
||||
@@ -42,11 +42,18 @@ module with workspace discovery disabled and the available compatible local Go
|
||||
toolchain.
|
||||
The operation may use the network and updates the Go module cache while
|
||||
preserving the caller's proxy, private-module, credential, and cache settings.
|
||||
If checksums are missing, Go may update `go.sum`; see the
|
||||
If checksums are missing, Go may update `go.sum`. For binary CI delivery, prepare
|
||||
and commit the selected module's `go.sum` before tagging: delivery verifies the
|
||||
tagged source remains clean after dependency preparation. See the
|
||||
[Go Modules Reference](https://go.dev/ref/mod#go-mod-download). Cancellation
|
||||
and command errors are returned. Page-only profiles do not need dependency
|
||||
preparation.
|
||||
|
||||
Set `TaggedCheckoutRequest.VerifyOnly` when a bootstrap step already fetched and
|
||||
detached the event tag. This mode checks the exact tag, expected commit, `HEAD`,
|
||||
and clean worktree without fetching or changing the checkout. Both modes require
|
||||
the full `Tag` and expected commit.
|
||||
|
||||
## Command line
|
||||
|
||||
Add a Gitea destination to the profile:
|
||||
@@ -199,10 +206,21 @@ without another fetch or checkout. It loads the tagged profile and downloads
|
||||
application dependencies only when build targets are selected; it builds and
|
||||
delivers those targets with the note page. Source-only profiles skip application
|
||||
dependency downloads and binary work. Dependency preparation for binaries may
|
||||
use the network and may update an uncommitted checksum file in the checkout. A
|
||||
use the network. Prepare and commit the selected module's `go.sum` before
|
||||
tagging; an uncommitted change makes the later delivery source check fail. A
|
||||
retry still uses the same immutable tag and that tag's module settings, even
|
||||
after the default branch selects a newer ReleaseKit version.
|
||||
|
||||
The root-only [`tag-delivery.yml`](../../examples/woodpecker/tag-delivery.yml)
|
||||
keeps the small default profile and root-module bootstrap. For consumers that
|
||||
release several modules from one repository, copy the contents of the maintained
|
||||
[multi-module example](../../examples/multi-module/) to the consumer repository
|
||||
root and use its [`woodpecker.yml`](../../examples/multi-module/woodpecker.yml),
|
||||
[`release-modules.tsv`](../../examples/multi-module/release-modules.tsv), and
|
||||
shared selector. The event tag chooses one row from the tagged checkout; the
|
||||
profile and physical module must agree, and ReleaseKit verifies the derived tag.
|
||||
The example covers source-only integration pages and a binary core module.
|
||||
|
||||
If the application does not declare ReleaseKit as a module dependency, install
|
||||
the executable separately and invoke the same `ci-deliver` command. For
|
||||
ReleaseKit's own source workflow, the maintained
|
||||
|
||||
Reference in New Issue
Block a user