Skip to content

Commit eb7e6a9

Browse files
Fix smoke-check SSH probe command invocation
1 parent 4e9c24e commit eb7e6a9

2 files changed

Lines changed: 4 additions & 2 deletions

File tree

docs/exec-plans/active/EP-001-portable-coder-foundation-and-multi-provider-mvp.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ Initial user target providers/tools:
4545
- [x] (2026-02-20) Add Windows helper script to patch legacy `start-vm.ps1` cloud-init port fallback on existing local clones
4646
- [x] (2026-02-20) Make Windows smoke SSH probe tolerate transient native-command connection errors during VM boot
4747
- [x] (2026-02-20) Increase VM SSH readiness timeouts and diagnostics for slow first-boot cloud images
48+
- [x] (2026-02-20) Fix Windows smoke SSH probe command invocation so readiness check validates `echo vm-ready` output correctly
4849
- [ ] (2026-02-18) Document setup/runbook and close out EP-001
4950

5051
## Context and Orientation
@@ -125,6 +126,7 @@ Acceptance criteria for EP-001:
125126
- 2026-02-20: Some Windows hosts had no free ports in `38080-38120`; cloud-init server startup now needs fallback port allocation.
126127
- 2026-02-20: On some PowerShell environments, transient `ssh` connection failures surfaced as exceptions; smoke probing must retry instead of aborting early.
127128
- 2026-02-20: First boot SSH readiness on some hosts can exceed 120 seconds, so timeout windows need to be configurable and longer by default.
129+
- 2026-02-20: Passing `ssh ... bash -lc <script>` as split args can drop expected output semantics; piping script content to `bash -s` is safer for deterministic probing.
128130

129131
## Decision Log
130132
- 2026-02-18: Adopt harness-first planning model before implementation.

scripts/runtime/windows/smoke-check.ps1

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,11 +66,11 @@ function Invoke-Ssh {
6666
'-o', 'UserKnownHostsFile=NUL',
6767
'-o', 'ConnectTimeout=5',
6868
"$SshUser@127.0.0.1",
69-
'bash', '-lc', $Script
69+
'bash', '-s'
7070
)
7171

7272
try {
73-
$output = & $SshExe @args 2>&1
73+
$output = $Script | & $SshExe @args 2>&1
7474
return @{
7575
status = $LASTEXITCODE
7676
output = [string]::Join("`n", $output)

0 commit comments

Comments
 (0)