mirror of
https://github.com/instructkr/claw-code.git
synced 2026-05-18 13:31:28 +08:00
Close Windows release artifact verification gap
G009 Stream 8 acceptance requires a Windows release artifact quickstart with checksum evidence, not just source-build docs. Add Windows release asset packaging and make the release-readiness check assert the workflow/docs contract. Constraint: Stream 8 requires release artifact quickstart with checksums and no-credential smoke paths. Rejected: Documenting a future Windows asset without workflow support | would leave acceptance unverifiable. Confidence: high Scope-risk: narrow Tested: python3 .github/scripts/check_release_readiness.py; python3 .github/scripts/check_doc_source_of_truth.py; git diff --check Not-tested: actual GitHub release workflow execution on windows-latest. Co-authored-by: OmX <omx@oh-my-codex.dev>
This commit is contained in:
@@ -26,16 +26,19 @@ cargo build --workspace --release
|
||||
|
||||
### Option B: use a release artifact
|
||||
|
||||
Use this when a GitHub release publishes a Windows artifact. The exact asset name may include the version and architecture; prefer the `windows-x86_64` / `pc-windows-msvc` ZIP when available.
|
||||
Use this when a GitHub release publishes a Windows artifact. The release workflow publishes `claw-windows-x64.exe` plus `claw-windows-x64.exe.sha256`; if a future release wraps the binary in a ZIP, prefer the `windows-x86_64` / `pc-windows-msvc` asset and its matching checksum file.
|
||||
|
||||
```powershell
|
||||
$Version = "vX.Y.Z"
|
||||
$Asset = "claw-$Version-x86_64-pc-windows-msvc.zip"
|
||||
$Asset = "claw-windows-x64.exe"
|
||||
$InstallRoot = "$env:LOCALAPPDATA\Programs\claw"
|
||||
New-Item -ItemType Directory -Force $InstallRoot | Out-Null
|
||||
|
||||
# Download the asset from the release page, then expand it:
|
||||
Expand-Archive -Path ".\$Asset" -DestinationPath $InstallRoot -Force
|
||||
# Download $Asset and $Asset.sha256 from the release page, then verify them:
|
||||
$Actual = (Get-FileHash ".\$Asset" -Algorithm SHA256).Hash.ToLowerInvariant()
|
||||
$Expected = (Get-Content ".\$Asset.sha256" | Select-Object -First 1).Split()[0].ToLowerInvariant()
|
||||
if ($Actual -ne $Expected) { throw "checksum mismatch for $Asset" }
|
||||
|
||||
Copy-Item ".\$Asset" "$InstallRoot\claw.exe" -Force
|
||||
& "$InstallRoot\claw.exe" --help
|
||||
& "$InstallRoot\claw.exe" doctor
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user