Record that host native launchers are implemented

This commit is contained in:
2026-11-04 01:22:27 +00:00
parent 68ce3e5a3b
commit 7dcc9a37c7
2 changed files with 16 additions and 15 deletions

View File

@@ -1,6 +1,6 @@
# Roadmap: host-native consumer launchers # Roadmap: host-native consumer launchers
Status: planned; implementation pending. Status: implemented.
## Purpose ## Purpose
@@ -11,10 +11,9 @@ regression coverage so consumers can retain small launchers and product-specific
wiring tests. wiring tests.
This is a launcher correctness improvement. It requires no public bootstrap API, This is a launcher correctness improvement. It requires no public bootstrap API,
validation option, or test-helper package. This roadmap selects no release version validation option, or test-helper package. This roadmap selects no release version.
and describes work to be implemented after this documentation pass.
## Current baseline ## Baseline before implementation
The [CommandKit feature request](commandkit-feature-request.md) describes a The [CommandKit feature request](commandkit-feature-request.md) describes a
prepared v0.8.0 tool invocation on Linux/amd64 with `GOOS=windows GOARCH=arm64` prepared v0.8.0 tool invocation on Linux/amd64 with `GOOS=windows GOARCH=arm64`
@@ -24,26 +23,26 @@ building the release executable. The report's reproduction exercised tool
execution without attempting publication. execution without attempting publication.
The maintained [multi-module launcher](../../examples/multi-module/release.sh) The maintained [multi-module launcher](../../examples/multi-module/release.sh)
selects a module and profile, copies module metadata into temporary storage, already selected a module and profile, copied module metadata into temporary
prepares the selected ReleaseKit dependency, and invokes `go tool releasekit`. storage, prepared the selected ReleaseKit dependency, and invoked
It sets `GOWORK=off` and `GOTOOLCHAIN=local`, but inherits `GOOS` and `GOARCH`. `go tool releasekit`. It set `GOWORK=off` and `GOTOOLCHAIN=local` while passing
Target-dependent dependency inspection therefore also sees the inherited target. inherited `GOOS` and `GOARCH` to dependency inspection and tool execution.
The [adoption guide](../consumers/adoption.md) includes a minimal `go tool` The [adoption guide](../consumers/adoption.md) included a minimal `go tool`
launcher. The [single-module CI template](../../examples/woodpecker/tag-delivery.yml) launcher. The [single-module CI template](../../examples/woodpecker/tag-delivery.yml)
and [multi-module CI template](../../examples/multi-module/woodpecker.yml) also and [multi-module CI template](../../examples/multi-module/woodpecker.yml) also
invoke the selected tool without explicit host-target normalization. invoked the selected tool without explicit host-target normalization.
The [maintainer launcher](../../scripts/release), The [maintainer launcher](../../scripts/release),
[source delivery template](../../examples/woodpecker/releasekit-source-delivery.yml), [source delivery template](../../examples/woodpecker/releasekit-source-delivery.yml),
and [manual delivery retry](../release.md) build and execute the tool with the and [manual delivery retry](../release.md) built and executed the tool with the
same inherited-target assumption. The CLI's [generated recovery command](../../cmd/releasekit/main.go) same inherited-target assumption. The CLI's [generated recovery command](../../cmd/releasekit/main.go)
inherits the target from the shell where it is run, and [recovery dependency inherited the target from the shell where it ran, and [recovery dependency
preparation](../../internal/gotool/recovery.go) also inherits the target. preparation](../../internal/gotool/recovery.go) also inherited the target.
Existing [launcher tests](../../cmd/releasekit/multi_module_example_test.go) Existing [launcher tests](../../cmd/releasekit/multi_module_example_test.go)
exercise synthetic module selection, publication arguments, child statuses exercised synthetic module selection, publication arguments, child statuses
0 through 3, and preservation of source module metadata. Those fixtures provide 0 through 3, and preservation of source module metadata. Those fixtures provided
the starting point for foreign-target regression coverage. the starting point for foreign-target regression coverage.
## Targeted end state ## Targeted end state

View File

@@ -65,6 +65,8 @@ the host.
## Reconcile the feature roadmap with the completed implementation ## Reconcile the feature roadmap with the completed implementation
**Completed.** The feature roadmap records implementation and labels the pre-change baseline. The release-note entry remains in the implementation plan.
**Evidence:** The [feature roadmap](host-native-launchers.md) still declares **Evidence:** The [feature roadmap](host-native-launchers.md) still declares
“implementation pending” and describes the pre-change launchers as the current “implementation pending” and describes the pre-change launchers as the current
baseline. All six stages in the [implementation plan](implementation.md) are baseline. All six stages in the [implementation plan](implementation.md) are