From ac3e9e98f206ddd8c8d3e6788d8c49386fc52aa2 Mon Sep 17 00:00:00 2001 From: Daniel Han Date: Fri, 15 May 2026 11:46:52 -0700 Subject: [PATCH] ci: make Windows Stop Studio teardown tolerate Git Bash signal exit (#5460) The Windows-runner "Stop Studio" step's kill + sleep block has been observed to exit 143 (SIGTERM) even when the upstream test work passed. Most recently caught on PR #5432 Job 3 "JSON, images": all four assertions (json_object, plain inference, image/openai, image/anthropic) printed PASS, then the kill step ran for ~2 seconds and exited 143, failing the job. Teardown does not gate correctness. Wrap all three Stop Studio steps with set +e + redirected error streams + explicit exit 0 so transient Git Bash signal weirdness no longer masks a green test run. --- .../studio-windows-inference-smoke.yml | 30 +++++++++++++++---- 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/.github/workflows/studio-windows-inference-smoke.yml b/.github/workflows/studio-windows-inference-smoke.yml index bc13ec8199..096ec95d03 100644 --- a/.github/workflows/studio-windows-inference-smoke.yml +++ b/.github/workflows/studio-windows-inference-smoke.yml @@ -345,9 +345,15 @@ jobs: - name: Stop Studio if: always() + # `set +e` + redirect everything: Git Bash on windows-latest + # has been observed to exit 143 from the kill/sleep block even + # when the upstream test work passed, masking a green run. The + # teardown does not gate correctness, so absorb any signal. run: | - kill "${STUDIO_PID}" 2>/dev/null || true - sleep 2 + set +e + kill "${STUDIO_PID}" >/dev/null 2>&1 || true + sleep 2 >/dev/null 2>&1 || true + exit 0 - name: Upload logs if: always() @@ -762,9 +768,15 @@ jobs: - name: Stop Studio if: always() + # `set +e` + redirect everything: Git Bash on windows-latest + # has been observed to exit 143 from the kill/sleep block even + # when the upstream test work passed, masking a green run. The + # teardown does not gate correctness, so absorb any signal. run: | - kill "${STUDIO_PID}" 2>/dev/null || true - sleep 2 + set +e + kill "${STUDIO_PID}" >/dev/null 2>&1 || true + sleep 2 >/dev/null 2>&1 || true + exit 0 - name: Upload logs if: always() @@ -1150,9 +1162,15 @@ jobs: - name: Stop Studio if: always() + # `set +e` + redirect everything: Git Bash on windows-latest + # has been observed to exit 143 from the kill/sleep block even + # when the upstream test work passed, masking a green run. The + # teardown does not gate correctness, so absorb any signal. run: | - kill "${STUDIO_PID}" 2>/dev/null || true - sleep 2 + set +e + kill "${STUDIO_PID}" >/dev/null 2>&1 || true + sleep 2 >/dev/null 2>&1 || true + exit 0 - name: Upload logs if: always()