65 lines
3.3 KiB
Markdown
65 lines
3.3 KiB
Markdown
# 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](https://gitea.maximumdirect.net/eric/ReleaseKit/src/tag/v0.1.0/docs/cli.md),
|
|
[configuration reference](https://gitea.maximumdirect.net/eric/ReleaseKit/src/tag/v0.1.0/docs/config.md),
|
|
[consumer delivery guide](https://gitea.maximumdirect.net/eric/ReleaseKit/src/tag/v0.1.0/docs/consumers/delivery.md),
|
|
and [runtime version guide](https://gitea.maximumdirect.net/eric/ReleaseKit/src/tag/v0.1.0/docs/consumers/runtime-version.md)
|
|
for supported behavior.
|
|
|
|
## Adoption and compatibility
|
|
|
|
Consumers can select this initial baseline with:
|
|
|
|
```sh
|
|
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](https://gitea.maximumdirect.net/eric/ReleaseKit/src/tag/v0.1.0/docs/policy/release.md): 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](https://gitea.maximumdirect.net/eric/ReleaseKit/src/tag/v0.1.0/docs/roadmap/releasekit.md).
|
|
|
|
[COPYRIGHT](https://gitea.maximumdirect.net/eric/ReleaseKit/src/tag/v0.1.0/COPYRIGHT) |
|
|
[LICENSE](https://gitea.maximumdirect.net/eric/ReleaseKit/src/tag/v0.1.0/LICENSE) |
|
|
[ATTRIBUTION](https://gitea.maximumdirect.net/eric/ReleaseKit/src/tag/v0.1.0/docs/oss/attribution.md)
|