Test release launcher behavior without fixed command spellings
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# ReleaseKit adoption review findings
|
||||
|
||||
Status: two remediation items pending; implementation not changed by this review.
|
||||
Status: R-01 complete; R-02 pending.
|
||||
|
||||
Date: 2026-10-08.
|
||||
|
||||
@@ -31,7 +31,7 @@ gates, new public contracts, or additional publisher machinery.
|
||||
|
||||
**Location:** [scripts/release_test.go](../../scripts/release_test.go),
|
||||
`TestReleaseLauncherDelegatesPublication`, `assertNativeBootstrap`
|
||||
(lines 222–260), and `fakeGo` (lines 363–397).
|
||||
and `fakeGo` as they existed at the reviewed revision.
|
||||
|
||||
The assertion compares the entire build argument vector, including flag order
|
||||
and the absolute spelling of the output path. It also requires the two exact
|
||||
@@ -56,15 +56,15 @@ those selected behaviors without elevating implementation details.
|
||||
|
||||
Required work:
|
||||
|
||||
- [ ] Assert the required build settings, selected package, and resolved output
|
||||
- [x] Assert the required build settings, selected package, and resolved output
|
||||
destination without requiring one incidental flag ordering or path spelling.
|
||||
- [ ] Make host-query fixture handling and assertions reflect the requested
|
||||
- [x] Make host-query fixture handling and assertions reflect the requested
|
||||
host values rather than requiring separate subprocess query forms. Keep the
|
||||
fixture small; a complete Go command emulator is unnecessary.
|
||||
- [ ] Check the publication command, option values, version operand, and
|
||||
- [x] Check the publication command, option values, version operand, and
|
||||
argument boundaries without fixing the order of independent options. Retain
|
||||
the upstream requirement that options precede the version.
|
||||
- [ ] Preserve checks for wrong native target, missing readonly mode, incorrect
|
||||
- [x] Preserve checks for wrong native target, missing readonly mode, incorrect
|
||||
package/output, workspace or toolchain mistakes, failed bootstrap, and
|
||||
publication status/stream propagation.
|
||||
|
||||
@@ -72,6 +72,20 @@ Completion evidence: focused launcher checks still detect the selected failures
|
||||
and accept an equivalent bootstrap form. This is a test correction, not a
|
||||
requirement to refactor the working launcher or add a release-time check.
|
||||
|
||||
**Completed 2026-10-08:** bootstrap checks now inspect required options and
|
||||
resolve output paths; publication checks use the standard flag parser to preserve
|
||||
option-order freedom and operand boundaries. The small executable double returns
|
||||
each requested host value and accepts either output-option spelling. A fixture
|
||||
launcher with combined host queries, reordered options, and a relative output
|
||||
passed. Negative cases still reject incorrect target, workspace/toolchain,
|
||||
directory, readonly mode, package pin, output, publication paths, and operands;
|
||||
existing status/stream and bootstrap-failure checks passed.
|
||||
|
||||
Validation: offline `go test -mod=readonly -count=1 ./scripts` and
|
||||
`go test -mod=readonly -count=1 ./...` both passed with `GOWORK=off`,
|
||||
`GOTOOLCHAIN=local`, `GOPROXY=off`, `GONOPROXY=none`, and `GOSUMDB=off`.
|
||||
The production launcher, profile, and module selection were not changed.
|
||||
|
||||
## R-02: clarify optional diagnostic validation in the runbook
|
||||
|
||||
**Priority:** low. **Category:** potentially strengthened prohibition.
|
||||
|
||||
Reference in New Issue
Block a user