ci: retry release live smokes faster · openclaw/openclaw@7a69069
steipete
·
2026-04-29
·
via Recent Commits to openclaw:main
| Original file line number | Diff line number | Diff line change |
|---|
@@ -2060,8 +2060,8 @@ jobs:
|
2060 | 2060 | live-cli-backend-docker) |
2061 | 2061 | echo "OPENCLAW_LIVE_CLI_BACKEND_MODEL=codex-cli/gpt-5.5" >> "$GITHUB_ENV" |
2062 | 2062 | echo "OPENCLAW_LIVE_CLI_BACKEND_AUTH=api-key" >> "$GITHUB_ENV" |
2063 | | - echo 'OPENCLAW_LIVE_CLI_BACKEND_ARGS=["exec","--json","--color","never","--sandbox","danger-full-access","--skip-git-repo-check"]' >> "$GITHUB_ENV" |
2064 | | - echo 'OPENCLAW_LIVE_CLI_BACKEND_RESUME_ARGS=["exec","resume","{sessionId}","-c","sandbox_mode=\"danger-full-access\"","--skip-git-repo-check"]' >> "$GITHUB_ENV" |
| 2063 | + echo 'OPENCLAW_LIVE_CLI_BACKEND_ARGS=["exec","--json","--color","never","--sandbox","danger-full-access","-c","service_tier=\"fast\"","--skip-git-repo-check"]' >> "$GITHUB_ENV" |
| 2064 | + echo 'OPENCLAW_LIVE_CLI_BACKEND_RESUME_ARGS=["exec","resume","{sessionId}","-c","sandbox_mode=\"danger-full-access\"","-c","service_tier=\"fast\"","--skip-git-repo-check"]' >> "$GITHUB_ENV" |
2065 | 2065 | echo "OPENCLAW_LIVE_CLI_BACKEND_DEBUG=1" >> "$GITHUB_ENV" |
2066 | 2066 | echo "OPENCLAW_CLI_BACKEND_LOG_OUTPUT=1" >> "$GITHUB_ENV" |
2067 | 2067 | echo "OPENCLAW_TEST_CONSOLE=1" >> "$GITHUB_ENV" |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -91,6 +91,7 @@ export const CROSS_OS_GATEWAY_STATUS_COMMAND_TIMEOUT_MS =
|
91 | 91 | CROSS_OS_GATEWAY_STATUS_RPC_TIMEOUT_MS + 45_000; |
92 | 92 | export const CROSS_OS_GATEWAY_READY_TIMEOUT_MS = 3 * 60_000; |
93 | 93 | export const CROSS_OS_WINDOWS_GATEWAY_READY_TIMEOUT_MS = 5 * 60_000; |
| 94 | +export const CROSS_OS_AGENT_TURN_TIMEOUT_SECONDS = 180; |
94 | 95 | |
95 | 96 | if (isMainModule()) { |
96 | 97 | try { |
@@ -2708,13 +2709,15 @@ function buildReleaseAgentTurnArgs(sessionId) {
|
2708 | 2709 | "Reply with exact ASCII text OK only.", |
2709 | 2710 | "--thinking", |
2710 | 2711 | "minimal", |
| 2712 | +"--timeout", |
| 2713 | +String(CROSS_OS_AGENT_TURN_TIMEOUT_SECONDS), |
2711 | 2714 | "--json", |
2712 | 2715 | ]; |
2713 | 2716 | } |
2714 | 2717 | |
2715 | 2718 | export function shouldRetryCrossOsAgentTurnError(error) { |
2716 | 2719 | const message = error instanceof Error ? error.message : String(error); |
2717 | | -return /failed to (?:install|stage) bundled runtime deps|failed to stage bundled runtime deps after|Agent output did not contain the expected OK marker|model idle timeout|did not produce a response before the model idle timeout/u.test( |
| 2720 | +return /failed to (?:install|stage) bundled runtime deps|failed to stage bundled runtime deps after|Agent output did not contain the expected OK marker|model idle timeout|did not produce a response before the model idle timeout|gateway request timeout for agent|Command timed out|timed out and could not be terminated cleanly/u.test( |
2718 | 2721 | message, |
2719 | 2722 | ); |
2720 | 2723 | } |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -30,6 +30,7 @@ import {
|
30 | 30 | CROSS_OS_WINDOWS_GATEWAY_READY_TIMEOUT_MS, |
31 | 31 | CROSS_OS_DASHBOARD_FETCH_TIMEOUT_MS, |
32 | 32 | CROSS_OS_DASHBOARD_SMOKE_TIMEOUT_MS, |
| 33 | +CROSS_OS_AGENT_TURN_TIMEOUT_SECONDS, |
33 | 34 | isImmutableReleaseRef, |
34 | 35 | looksLikeReleaseVersionRef, |
35 | 36 | normalizeRequestedRef, |
@@ -120,6 +121,16 @@ describe("scripts/openclaw-cross-os-release-checks", () => {
|
120 | 121 | ), |
121 | 122 | ), |
122 | 123 | ).toBe(true); |
| 124 | +expect( |
| 125 | +shouldRetryCrossOsAgentTurnError( |
| 126 | +new Error("gateway request timeout for agent after 210000ms"), |
| 127 | +), |
| 128 | +).toBe(true); |
| 129 | +expect( |
| 130 | +shouldRetryCrossOsAgentTurnError( |
| 131 | +new Error("Command timed out and could not be terminated cleanly"), |
| 132 | +), |
| 133 | +).toBe(true); |
123 | 134 | }); |
124 | 135 | |
125 | 136 | it("allows cross-OS provider smoke models to use faster CI overrides", () => { |
@@ -150,6 +161,8 @@ describe("scripts/openclaw-cross-os-release-checks", () => {
|
150 | 161 | const source = readFileSync("scripts/openclaw-cross-os-release-checks.ts", "utf8"); |
151 | 162 | |
152 | 163 | expect(source).toContain('"--thinking",\n "minimal"'); |
| 164 | +expect(CROSS_OS_AGENT_TURN_TIMEOUT_SECONDS).toBeLessThanOrEqual(180); |
| 165 | +expect(source).toContain('"--timeout",\n String(CROSS_OS_AGENT_TURN_TIMEOUT_SECONDS)'); |
153 | 166 | expect(source.match(/buildReleaseAgentTurnArgs\(sessionId\)/g)?.length).toBeGreaterThanOrEqual( |
154 | 167 | 2, |
155 | 168 | ); |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -132,7 +132,10 @@ describe("package artifact reuse", () => {
|
132 | 132 | expect(workflow).toContain("OPENCLAW_LIVE_CLI_BACKEND_MODEL=codex-cli/gpt-5.5"); |
133 | 133 | expect(workflow).toContain("OPENCLAW_LIVE_CLI_BACKEND_AUTH=api-key"); |
134 | 134 | expect(workflow).toContain("OPENCLAW_LIVE_CLI_BACKEND_USE_CI_SAFE_CODEX_CONFIG=1"); |
135 | | -expect(workflow).toContain('service_tier=\\"fast\\"'); |
| 135 | +expect((workflow.match(/service_tier=\\"fast\\"/g) ?? []).length).toBeGreaterThanOrEqual(2); |
| 136 | +expect(workflow).not.toContain( |
| 137 | +'OPENCLAW_LIVE_CLI_BACKEND_ARGS=["exec","--json","--color","never","--sandbox","danger-full-access","--skip-git-repo-check"]', |
| 138 | +); |
136 | 139 | expect(workflow).toContain("bash .release-harness/scripts/ci-live-command-retry.sh"); |
137 | 140 | expect(workflow).toContain("suite_id: native-live-src-gateway-core"); |
138 | 141 | expect(workflow).toContain("suite_id: native-live-src-gateway-backends"); |
|
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。