mirror of
https://github.com/DeusData/codebase-memory-mcp.git
synced 2026-11-13 09:53:15 +08:00
windows-11-arm is an ARM64 runner but the test matrix built it with the x86-64 msys2 environment (CLANG64), so the binary ran under Windows-on-ARM x86-64 emulation. AddressSanitizer's function interception cannot patch the emulated system DLLs there (interception_win: unhandled instruction -> asan_malloc_win.cpp CHECK failed), crashing in ASan init before any test ran. That was being hidden behind optional:true. Pin each Windows leg's msys2 environment + package arch to the RUNNER architecture: x86-64 runners use CLANG64 (mingw-w64-clang-x86_64-*), the ARM64 runner uses CLANGARM64 (mingw-w64-clang-aarch64-*). The windows-11-arm binary is now native ARM64, so ASan instruments native code and the leg is a real, non-optional gate (matching smoke.yml, which already uses CLANGARM64 for it). Every other matrix leg already used a toolchain matching its runner arch. Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>