fix(buzz-dev-mcp): resolve non-WSL bash so the MCP shell works on Windows (#1119)

Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co>
This commit is contained in:
Will Pfleger
2026-06-18 19:33:35 -04:00
committed by GitHub
parent e99105edc4
commit 4d2eb52a6c
11 changed files with 589 additions and 54 deletions

View File

@@ -688,6 +688,26 @@ jobs:
run: cargo clippy --workspace --all-targets --target $env:TARGET -- -D warnings
- name: Check (workspace)
run: cargo check --workspace --all-targets --target $env:TARGET
- name: Test (buzz-dev-mcp)
# The Windows-only bash resolver lives in buzz-dev-mcp; its unit tests
# only gate if this crate is tested ON Windows.
run: cargo test -p buzz-dev-mcp --target $env:TARGET
# The bundled-bash staging (PortableGit download, SFX extract, mingw64 drop)
# runs only in release.yml on tag — so without this step the agent's only
# Windows transport would ship UNEXERCISED until a tagged release hits users.
# Stage the tree and spawn the staged bash on a real coreutils pipeline: this
# gates the SFX `-o` POSIX-path extraction, that bash.exe still spawns after
# mingw64/ is dropped, and that the lazily-loaded MSYS DLL closure (msys-2.0.dll,
# coreutils) survives — the exact behaviors unconfirmable off a non-Windows host.
- name: Smoke-test bundled bash staging
shell: bash
run: |
set -euo pipefail
stage_dir="$RUNNER_TEMP/git-bash"
scripts/stage-windows-bash.sh "$stage_dir"
out=$("$stage_dir/usr/bin/bash.exe" -c 'echo hello | tr a-z A-Z')
[[ "$out" == "HELLO" ]] || { echo "staged bash pipeline failed: got '$out'" >&2; exit 1; }
echo "staged bash spawned and ran a coreutils pipeline"
- name: Check (Tauri crate)
run: cargo check --manifest-path desktop/src-tauri/Cargo.toml --target $env:TARGET
env: