Record that host native launchers are implemented
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user