Build selected targets with version injection
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
# ReleaseKit staged implementation plan
|
||||
|
||||
Status: Proposed. All stages are pending; this document introduces no implemented
|
||||
features or published contracts.
|
||||
Status: In progress. Stages 1–10 are complete; later stages remain pending.
|
||||
|
||||
Date: 2026-10-05
|
||||
|
||||
@@ -683,7 +682,7 @@ ReleaseKit release was published.
|
||||
|
||||
## Stage 10: Build selected targets with shared version injection
|
||||
|
||||
Status: Pending. Depends on Stage 9.
|
||||
Status: Complete. Depends on Stage 9.
|
||||
|
||||
1. Implement public build values and internal build execution using the fixed
|
||||
flags, version symbol, filename convention, and prepared Go environment.
|
||||
@@ -702,6 +701,17 @@ does not select the smoke host. Empty targets perform no build or smoke test;
|
||||
missing main packages, build failures, incorrect version output, unsafe binary
|
||||
names, and cancellation fail with useful partial results.
|
||||
|
||||
Evidence: `releasekit.Build` and `internal/build` compile Linux amd64, Linux
|
||||
arm64, and macOS arm64 artifacts using the shared linker symbol and prepared
|
||||
local Go environment. The consumer fixture imports `buildinfo` and reports the
|
||||
injected version through its `version` invocation. Results retain the observed
|
||||
source commit, compiler identity, normalized targets, absolute paths, filenames,
|
||||
and SHA-256 digests. Tests cover host selection despite ambient cross-target
|
||||
variables, empty target sets, existing output preservation, partial target
|
||||
failure, missing packages, incorrect version output, unsafe names, and
|
||||
cancellation with completed artifacts retained. No byte-reproducibility or
|
||||
cross-platform execution guarantee is added.
|
||||
|
||||
## Stage 11: Integrate candidate builds and artifact command
|
||||
|
||||
Status: Pending. Depends on Stage 10.
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
This is a proposal based on a review of PromptKit, ConfigKit, Audita, Notarius,
|
||||
Narratio, and Scriptorium on 2026-09-29. The implementation plan records the
|
||||
current implemented boundary; builds, delivery, and broader integrations remain
|
||||
proposed. The public facade architecture is accepted in
|
||||
current implemented boundary; CLI build integration, delivery, and broader
|
||||
integrations remain planned. The public facade architecture is accepted in
|
||||
[ADR 0001](../adr/0001-public-facade.md) and is implemented for runtime version,
|
||||
candidate validation, and source publication.
|
||||
The [implementation plan](implementation.md) owns ordered stages, execution
|
||||
@@ -55,8 +55,9 @@ cleanup.
|
||||
The [architecture policy](../policy/architecture.md) owns the adopted
|
||||
responsibility and dependency rules, including the runtime version boundary.
|
||||
The root `releasekit` package provides the public facade for candidate
|
||||
validation and source publication; builds and delivery remain planned. The
|
||||
separate public `buildinfo` package provides lightweight runtime version access.
|
||||
validation, source publication, and selected-target builds; CLI build
|
||||
integration and delivery remain planned. The separate public `buildinfo`
|
||||
package provides lightweight runtime version access.
|
||||
|
||||
Each facade owns its public named types and documented contracts. Public
|
||||
operations, inputs, outcomes, errors, and callbacks express deliberately
|
||||
|
||||
Reference in New Issue
Block a user