Files
ReleaseKit/docs/releases/v0.1.0.md

3.3 KiB

ReleaseKit v0.1.0

Summary

ReleaseKit's initial release provides an opinionated Go library and executable for candidate validation, annotated source-tag publication, version injection, selected-target builds, and Gitea release delivery.

The root releasekit facade owns release orchestration. The separate buildinfo facade supplies lightweight runtime version access. Both belong to one Go module with a Go 1.25.0 minimum language version.

Capabilities

  • Run the standard offline Go test suite once, followed by optional product-specific checks and selected-target build verification.
  • Publish the exact annotated tag for a validated candidate already on authoritative main, with bounded recovery after failed or ambiguous pushes.
  • Cross-build selected Go targets with shared version injection, artifact names, digests, and a native version smoke check. Source-only projects select no binary targets.
  • Deliver committed release notes and declared assets to Gitea, preserving existing content and reporting partial, conflicting, and uncertain outcomes.
  • Use one managed build-and-deliver operation or supply retained prebuilt artifacts for retries and separate build/delivery environments.
  • Prepare tagged CI checkouts and dependencies through the shared ci-deliver command and maintained Woodpecker workflow.

See the CLI contract, configuration reference, consumer delivery guide, and runtime version guide for supported behavior.

Adoption and compatibility

Consumers can select this initial baseline with:

go get gitea.maximumdirect.net/eric/ReleaseKit@v0.1.0
go install gitea.maximumdirect.net/eric/ReleaseKit/cmd/releasekit@v0.1.0

Profiles declare product identity, additional checks, selected binaries and targets, and a Gitea destination. Applications obtain their embedded version through buildinfo.Version().

For consumers experimenting with earlier development revisions, rename the ReleaseRequest.Validate callback to AdditionalChecks and remove repeated standard-suite commands from profile checks. DeliveryRequest.Build now accepts a *BuildSpec for managed builds; use Prebuilt for an existing BuildResult.

Compatibility follows the release policy: before v1.0.0, minor releases may change documented contracts with migration guidance; patch releases preserve contracts within their minor line.

ReleaseKit's deliverables are this immutable source tag and the hosted page containing this complete note. Consumer migration and live Woodpecker deployment remain adoption work tracked in the product roadmap.

COPYRIGHT | LICENSE | ATTRIBUTION