From 8d026461292ff0a76d3d8e5f130bf25e89cb62ae Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Wed, 29 Apr 2026 08:29:09 +0100 Subject: [PATCH] test(release): steady Parallels smoke agent turns --- scripts/e2e/parallels-linux-smoke.sh | 4 ++-- scripts/e2e/parallels-macos-smoke.sh | 4 ++-- scripts/e2e/parallels-npm-update-smoke.sh | 4 ++-- scripts/e2e/parallels-windows-smoke.sh | 17 +++++++---------- scripts/openclaw-cross-os-release-checks.ts | 2 +- test/scripts/parallels-smoke-model.test.ts | 10 +++++++++- 6 files changed, 23 insertions(+), 18 deletions(-) diff --git a/scripts/e2e/parallels-linux-smoke.sh b/scripts/e2e/parallels-linux-smoke.sh index d56a3a96d27..12e82aabe24 100644 --- a/scripts/e2e/parallels-linux-smoke.sh +++ b/scripts/e2e/parallels-linux-smoke.sh @@ -106,7 +106,7 @@ Options: --provider Provider auth/model lane. Default: openai --model Override the model used for the agent-turn smoke. - Default: openai/gpt-5.5 for the OpenAI lane + Default: openai/gpt-5.4-mini for the OpenAI lane --api-key-env Host env var name for provider API key. Default: OPENAI_API_KEY for openai, ANTHROPIC_API_KEY for anthropic --openai-api-key-env Alias for --api-key-env (backward compatible) @@ -209,7 +209,7 @@ case "$PROVIDER" in openai) AUTH_CHOICE="openai-api-key" AUTH_KEY_FLAG="openai-api-key" - [[ "$MODEL_ID_EXPLICIT" -eq 1 ]] || MODEL_ID="${OPENCLAW_PARALLELS_OPENAI_MODEL:-openai/gpt-5.5}" + [[ "$MODEL_ID_EXPLICIT" -eq 1 ]] || MODEL_ID="${OPENCLAW_PARALLELS_OPENAI_MODEL:-openai/gpt-5.4-mini}" [[ -n "$API_KEY_ENV" ]] || API_KEY_ENV="OPENAI_API_KEY" ;; anthropic) diff --git a/scripts/e2e/parallels-macos-smoke.sh b/scripts/e2e/parallels-macos-smoke.sh index 0e8c427492e..0d9cffc4d1c 100644 --- a/scripts/e2e/parallels-macos-smoke.sh +++ b/scripts/e2e/parallels-macos-smoke.sh @@ -144,7 +144,7 @@ Options: --provider Provider auth/model lane. Default: openai --model Override the model used for the agent-turn smoke. - Default: openai/gpt-5.5 for the OpenAI lane + Default: openai/gpt-5.4-mini for the OpenAI lane --api-key-env Host env var name for provider API key. Default: OPENAI_API_KEY for openai, ANTHROPIC_API_KEY for anthropic --openai-api-key-env Alias for --api-key-env (backward compatible) @@ -266,7 +266,7 @@ case "$PROVIDER" in openai) AUTH_CHOICE="openai-api-key" AUTH_KEY_FLAG="openai-api-key" - [[ "$MODEL_ID_EXPLICIT" -eq 1 ]] || MODEL_ID="${OPENCLAW_PARALLELS_OPENAI_MODEL:-openai/gpt-5.5}" + [[ "$MODEL_ID_EXPLICIT" -eq 1 ]] || MODEL_ID="${OPENCLAW_PARALLELS_OPENAI_MODEL:-openai/gpt-5.4-mini}" [[ -n "$API_KEY_ENV" ]] || API_KEY_ENV="OPENAI_API_KEY" ;; anthropic) diff --git a/scripts/e2e/parallels-npm-update-smoke.sh b/scripts/e2e/parallels-npm-update-smoke.sh index aa5b0be5b1b..fdedab5a149 100755 --- a/scripts/e2e/parallels-npm-update-smoke.sh +++ b/scripts/e2e/parallels-npm-update-smoke.sh @@ -122,7 +122,7 @@ Options: --provider Provider auth/model lane. Default: openai --model Override the model used for agent-turn smoke checks. - Default: openai/gpt-5.5 for the OpenAI lane + Default: openai/gpt-5.4-mini for the OpenAI lane --api-key-env Host env var name for provider API key. Default: OPENAI_API_KEY for openai, ANTHROPIC_API_KEY for anthropic --openai-api-key-env Alias for --api-key-env (backward compatible) @@ -214,7 +214,7 @@ case "$PROVIDER" in openai) AUTH_CHOICE="openai-api-key" AUTH_KEY_FLAG="openai-api-key" - [[ "$MODEL_ID_EXPLICIT" -eq 1 ]] || MODEL_ID="${OPENCLAW_PARALLELS_OPENAI_MODEL:-openai/gpt-5.5}" + [[ "$MODEL_ID_EXPLICIT" -eq 1 ]] || MODEL_ID="${OPENCLAW_PARALLELS_OPENAI_MODEL:-openai/gpt-5.4-mini}" [[ -n "$API_KEY_ENV" ]] || API_KEY_ENV="OPENAI_API_KEY" ;; anthropic) diff --git a/scripts/e2e/parallels-windows-smoke.sh b/scripts/e2e/parallels-windows-smoke.sh index ff865fbc608..acfbebd92f5 100644 --- a/scripts/e2e/parallels-windows-smoke.sh +++ b/scripts/e2e/parallels-windows-smoke.sh @@ -140,7 +140,7 @@ Options: --provider Provider auth/model lane. Default: openai --model Override the model used for the agent-turn smoke. - Default: openai/gpt-5.5 for the OpenAI lane + Default: openai/gpt-5.4-mini for the OpenAI lane --api-key-env Host env var name for provider API key. Default: OPENAI_API_KEY for openai, ANTHROPIC_API_KEY for anthropic --openai-api-key-env Alias for --api-key-env (backward compatible) @@ -257,7 +257,7 @@ case "$PROVIDER" in openai) AUTH_CHOICE="openai-api-key" AUTH_KEY_FLAG="openai-api-key" - [[ "$MODEL_ID_EXPLICIT" -eq 1 ]] || MODEL_ID="${OPENCLAW_PARALLELS_OPENAI_MODEL:-openai/gpt-5.5}" + [[ "$MODEL_ID_EXPLICIT" -eq 1 ]] || MODEL_ID="${OPENCLAW_PARALLELS_OPENAI_MODEL:-openai/gpt-5.4-mini}" [[ -n "$API_KEY_ENV" ]] || API_KEY_ENV="OPENAI_API_KEY" ;; anthropic) @@ -640,14 +640,10 @@ param( [string]$StderrPath, [string]$OkPath, [string]$DonePath, - [string]$EnvName, - [string]$EnvValue + [string]$EnvName ) $ErrorActionPreference = 'Continue' try { - if ($EnvName -ne '') { - Set-Item -Path ('Env:' + $EnvName) -Value $EnvValue - } $node = Join-Path $env:ProgramFiles 'nodejs\node.exe' if (-not (Test-Path $node)) { $node = 'node' @@ -686,6 +682,9 @@ EOF \$ok = Join-Path \$env:TEMP '$ok_name' Remove-Item \$runner, \$stdout, \$stderr, \$done, \$ok -Force -ErrorAction SilentlyContinue curl.exe -fsSL '${runner_url_q}' -o \$runner +if ('${env_name_q}' -ne '') { + Set-Item -Path ('Env:' + '${env_name_q}') -Value '${env_value_q}' +} Start-Process powershell.exe -ArgumentList @( '-NoProfile', '-ExecutionPolicy', @@ -701,9 +700,7 @@ Start-Process powershell.exe -ArgumentList @( '-DonePath', \$done, '-EnvName', - '${env_name_q}', - '-EnvValue', - '${env_value_q}' + '${env_name_q}' ) -WindowStyle Hidden | Out-Null EOF )" diff --git a/scripts/openclaw-cross-os-release-checks.ts b/scripts/openclaw-cross-os-release-checks.ts index f1450258cb6..8edf6c9727b 100644 --- a/scripts/openclaw-cross-os-release-checks.ts +++ b/scripts/openclaw-cross-os-release-checks.ts @@ -40,7 +40,7 @@ const providerConfig = { extensionId: "openai", secretEnv: "OPENAI_API_KEY", authChoice: "openai-api-key", - model: "openai/gpt-5.5", + model: "openai/gpt-5.4-mini", }, anthropic: { extensionId: "anthropic", diff --git a/test/scripts/parallels-smoke-model.test.ts b/test/scripts/parallels-smoke-model.test.ts index d151293552f..a178016bdc2 100644 --- a/test/scripts/parallels-smoke-model.test.ts +++ b/test/scripts/parallels-smoke-model.test.ts @@ -14,7 +14,7 @@ describe("Parallels smoke model selection", () => { const script = readFileSync(scriptPath, "utf8"); expect(script, scriptPath).toContain( - 'MODEL_ID="${OPENCLAW_PARALLELS_OPENAI_MODEL:-openai/gpt-5.5}"', + 'MODEL_ID="${OPENCLAW_PARALLELS_OPENAI_MODEL:-openai/gpt-5.4-mini}"', ); expect(script, scriptPath).toContain("--model "); expect(script, scriptPath).toContain("MODEL_ID_EXPLICIT=1"); @@ -66,6 +66,14 @@ describe("Parallels smoke model selection", () => { ); }); + it("keeps the Windows agent helper secret out of its long-lived command line", () => { + const script = readFileSync("scripts/e2e/parallels-windows-smoke.sh", "utf8"); + + expect(script).not.toContain("[string]$EnvValue"); + expect(script).not.toContain("'-EnvValue'"); + expect(script).toContain("Set-Item -Path ('Env:' + '${env_name_q}')"); + }); + it("keeps Windows gateway reachability on a real deadline with start recovery", () => { const script = readFileSync("scripts/e2e/parallels-windows-smoke.sh", "utf8");