Files
ReleaseKit/docs/internal/overview.md

41 lines
2.4 KiB
Markdown
Raw Normal View History

2026-10-05 17:07:17 +00:00
# Internal package inventory
Public facades and their contracts are defined in Go declarations and GoDoc.
The [runtime consumer guide](../consumers/runtime-version.md) covers application
usage, and the [CLI contract](../cli.md) covers command behavior.
Implemented internal packages:
- `internal/runtimeinfo` holds the injected version value and selects the
executable's main-module version when no injected value is present.
- `internal/versioncontract` names the linker symbol and stable version form
shared with the build and candidate operations.
2026-10-05 17:07:17 +00:00
- `internal/apicheck` checks compiled exports with `go/types` and checks import
direction. Run it with `go run ./internal/apicheck` from the repository root.
- `internal/process` runs cancellable child commands with per-child environment
overlays.
- `internal/build` compiles explicit Go targets with shared version injection,
verifies native version output, and returns generated file digests.
2026-10-05 20:05:25 +00:00
- `internal/gitea` verifies hosted source tags, manages matching stable release
pages, and inspects and uploads declared attachments through the Gitea REST API.
2026-10-05 17:47:50 +00:00
- `internal/candidate` captures and validates one clean local candidate, checks
its committed release note and local tag state, runs validation once, and
rechecks mutable repository state.
2026-10-05 18:04:58 +00:00
- `internal/git` resolves one effective push destination, applies it to a
2026-10-05 18:24:37 +00:00
command-scoped remote, reads exact authoritative branch and tag refs, and
creates and pushes exact annotated tag objects.
- `internal/publish` coordinates local and remote guards around one validation
run and reports the publication state reached by that invocation.
- `internal/delivery` verifies a tagged checkout and coordinates note, build
identity, hosted page, asset inspection, and additive upload outcomes.
- `cmd/releasekit/internal/cli` parses implemented commands, loads strict JSON
profiles, adapts configured checks, and writes and validates private local
build receipts used for delivery.
2026-10-05 17:07:17 +00:00
The executable controller uses the runtime facade and the command-owned CLI
adapter. The adapter uses the process runner and imports neither public facade.
2026-10-05 19:46:27 +00:00
The publication operation coordinates the candidate and Git packages. The
internal Gitea client is documented in the
[Gitea integration guide](../integrations/gitea.md); tagged-source orchestration
is exposed through the public delivery facade and CLI.