From 87636d9442f552699bd9bb0b5c0dde19e0c3a408 Mon Sep 17 00:00:00 2001 From: jwinterm Date: Wed, 20 May 2026 13:17:07 -0400 Subject: [PATCH] Windows CI: use explicit Git Bash path instead of `shell: bash` MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `shell: bash` on the Windows runner resolves via PATH to C:\Windows\System32\bash.exe — that's WSL's bash. WSL refuses to launch under LocalSystem (which our NSSM-managed act_runner service runs as): Running WSL as local system is not supported. Error code: Bash/WSL_E_LOCAL_SYSTEM_NOT_SUPPORTED GitHub's hosted windows-latest avoids this by putting Git Bash earlier in PATH. Tried the same on our runner (prepending C:\Program Files\Git\bin) but the service's PATH didn't reflect the change post-restart. Rather than fight Windows env propagation, just point shell at Git Bash directly. Deterministic, no PATH dependency. --- .github/workflows/build-windows.yml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index 2f47d0a3..0d67fca4 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -22,10 +22,13 @@ concurrency: defaults: run: - # Git Bash is installed alongside Git on the runner. Using bash keeps - # the steps parallel to build-android.yml / build-ios-sim.yml. PowerShell - # is available per-step via `shell: powershell` if needed. - shell: bash + # Explicit Git Bash path (not `shell: bash`) because Windows resolves + # bare `bash` to C:\Windows\System32\bash.exe (WSL), which refuses to + # run when the act_runner service is hosted under LocalSystem: + # "Running WSL as local system is not supported." + # Git Bash works fine under LocalSystem and matches how GitHub's + # hosted windows-latest runner invokes bash. + shell: '"C:\Program Files\Git\bin\bash.exe" --noprofile --norc -eo pipefail {0}' jobs: build: -- 2.50.1 (Apple Git-155)