ci: switch Windows Stop Studio to a cmd no-op marker (#5462)

The prior set +e + redirect + exit 0 fix in #5460 did not stop the
Stop Studio step from exiting 143 (SIGTERM) on Git Bash; bash on
windows-latest exits with that signal before any inline guard
runs, regardless of redirection. The teardown does not gate
correctness -- the runner reclaims the Studio child process at
job end -- so swap the shell from Git Bash to cmd and just emit
a marker line.

After this, Job 3 (JSON, images) and the two other Windows GGUF
CI jobs cannot fail at the teardown step.
This commit is contained in:
Daniel Han 2026-05-15 13:14:34 -07:00 committed by GitHub
commit 85cf0a41ea
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -345,15 +345,13 @@ 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: |
set +e
kill "${STUDIO_PID}" >/dev/null 2>&1 || true
sleep 2 >/dev/null 2>&1 || true
exit 0
# Run as cmd so we are not running through the Git Bash shell;
# Git Bash on windows-latest has been observed to exit 143
# (SIGTERM) from any inline kill/sleep block, masking a green
# test run. The runner reclaims the Studio child process at
# job end either way, so just emit a marker and exit 0.
shell: cmd
run: echo Stop Studio (no-op; runner reclaims STUDIO_PID=%STUDIO_PID% at job end)
- name: Upload logs
if: always()
@ -768,15 +766,13 @@ 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: |
set +e
kill "${STUDIO_PID}" >/dev/null 2>&1 || true
sleep 2 >/dev/null 2>&1 || true
exit 0
# Run as cmd so we are not running through the Git Bash shell;
# Git Bash on windows-latest has been observed to exit 143
# (SIGTERM) from any inline kill/sleep block, masking a green
# test run. The runner reclaims the Studio child process at
# job end either way, so just emit a marker and exit 0.
shell: cmd
run: echo Stop Studio (no-op; runner reclaims STUDIO_PID=%STUDIO_PID% at job end)
- name: Upload logs
if: always()
@ -1162,15 +1158,13 @@ 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: |
set +e
kill "${STUDIO_PID}" >/dev/null 2>&1 || true
sleep 2 >/dev/null 2>&1 || true
exit 0
# Run as cmd so we are not running through the Git Bash shell;
# Git Bash on windows-latest has been observed to exit 143
# (SIGTERM) from any inline kill/sleep block, masking a green
# test run. The runner reclaims the Studio child process at
# job end either way, so just emit a marker and exit 0.
shell: cmd
run: echo Stop Studio (no-op; runner reclaims STUDIO_PID=%STUDIO_PID% at job end)
- name: Upload logs
if: always()