@@ -119,6 +119,7 @@ describe("package artifact reuse", () => {
|
119 | 119 | |
120 | 120 | it("shards broad native live tests instead of one serial live-all job", () => { |
121 | 121 | const workflow = readFileSync(LIVE_E2E_WORKFLOW, "utf8"); |
| 122 | +const retryHelper = readFileSync("scripts/ci-live-command-retry.sh", "utf8"); |
122 | 123 | |
123 | 124 | expect(workflow).not.toContain("suite_id: live-all"); |
124 | 125 | expect(workflow).not.toContain("command: pnpm test:live\n"); |
@@ -127,6 +128,8 @@ describe("package artifact reuse", () => {
|
127 | 128 | expect(workflow).toContain( |
128 | 129 | "command: node .release-harness/scripts/test-live-shard.mjs native-live-src-agents", |
129 | 130 | ); |
| 131 | +expect(workflow).toContain("OPENCLAW_LIVE_COMMAND: ${{ matrix.command }}"); |
| 132 | +expect(workflow).toContain("bash .release-harness/scripts/ci-live-command-retry.sh"); |
130 | 133 | expect(workflow).toContain("suite_id: native-live-src-gateway-core"); |
131 | 134 | expect(workflow).toContain("suite_id: native-live-src-gateway-backends"); |
132 | 135 | expect(workflow).toContain("suite_id: native-live-src-gateway-profiles-deepseek"); |
@@ -150,6 +153,9 @@ describe("package artifact reuse", () => {
|
150 | 153 | expect(workflow).toContain("suite_id: native-live-extensions-media-music-minimax"); |
151 | 154 | expect(workflow).toContain("suite_id: native-live-extensions-media-video"); |
152 | 155 | expect(workflow).not.toContain("needs_ffmpeg: true"); |
| 156 | +expect(retryHelper).toContain("OPENCLAW_LIVE_COMMAND_ATTEMPTS:-2"); |
| 157 | +expect(retryHelper).toContain("ECONNRESET"); |
| 158 | +expect(retryHelper).toContain("fetch failed"); |
153 | 159 | }); |
154 | 160 | |
155 | 161 | it("runs Docker live harnesses from trusted helper scripts", () => { |
|