3.1 KiB
ReleaseKit
ReleaseKit is an opinionated Go library and executable for a shared release
process. The Go module, root releasekit facade, buildinfo runtime package,
local candidate check, source-tag publication API, selected-target build API,
tagged-source delivery API, and the version, check, publish, build,
deliver, and ci-deliver commands are implemented. ReleaseKit's source-only
maintainer procedure and prepared Woodpecker workflow for hosted note-page
delivery are documented. ReleaseKit does not declare binary deliverables. The
product roadmap records remaining adoption and
deployment work.
See the v0.1.0 release note for the initial baseline and installation commands.
Run the offline Go test suite from the repository root with:
go test ./...
The version command prints ReleaseKit's version:
go run ./cmd/releasekit version
The local candidate check validates a committed release note, runs the standard offline Go suite with any selected shared validation checks, and then runs configured product checks:
go run ./cmd/releasekit check v1.2.3
Publish the source tag from a committed candidate with:
./scripts/release v1.2.3
See the ReleaseKit maintainer procedure for preparation and failure recovery.
Documentation
- Product roadmap: consumer adoption goals and remaining release and deployment work.
- Contributor guide: orientation, validation, and selective policy reading.
- CLI contract: the
version,check,publish,build,deliver, andci-delivercommands. - Configuration: profile fields and child-command settings.
- Runtime version guidance: how applications
read their embedded version through
buildinfo. - Build guidance: compile selected Go targets with an injected application version.
- Delivery guidance: deliver tagged source and report hosted page and asset status.
- Gitea integration: hosted release-page operations and their failure behavior.
- Candidate check guidance: local candidate validation through the Go API and CLI.
- Source publication guidance: validate and publish the exact annotated source tag through the Go API.
- Maintainer release procedure: ReleaseKit's source-only publication workflow and recovery.
- Internal package inventory: implemented internal components and their responsibilities.
- Architecture policy: responsibility and dependency boundaries for development.
- ADR 0001: the accepted public facade decision.
- Policy provenance: adopted policy sources and update guidance.
ReleaseKit is licensed under the LGPL v3.0 or later.
Open Source attribution notices are available.