@@ -109,11 +109,60 @@ jobs:
109109 with :
110110 node-version : 22
111111 cache : pnpm
112- - name : Setup MSVC (Windows)
112+ cache-dependency-path : pnpm-lock.yaml
113+ - name : Clear pnpm cache (if needed)
114+ run : |
115+ # Clear pnpm cache if it's corrupted or causing issues
116+ pnpm store prune || true
117+ pnpm config set store-dir ~/.pnpm-store
118+ continue-on-error : true
119+ - name : Setup MSVC Environment (Windows)
113120 if : ${{ contains(matrix.settings.host, 'windows') }}
114- uses : microsoft/setup-msbuild@v1.3
115- with :
116- vs-version : ' [17.0,18.0)'
121+ run : |
122+ # Find and setup Visual Studio environment
123+ echo "Looking for Visual Studio installation..."
124+
125+ # Try different Visual Studio paths
126+ VS_PATHS=(
127+ "C:\Program Files\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvarsall.bat"
128+ "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvarsall.bat"
129+ "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat"
130+ "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat"
131+ "C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvarsall.bat"
132+ "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvarsall.bat"
133+ )
134+
135+ VS_FOUND=false
136+ for vs_path in "${VS_PATHS[@]}"; do
137+ if [ -f "$vs_path" ]; then
138+ echo "Found Visual Studio at: $vs_path"
139+ echo "Setting up environment..."
140+ # Call vcvarsall.bat and capture environment variables
141+ cmd //c "\"$vs_path\" x64 && set" > vs_env.txt
142+ # Extract important environment variables
143+ grep -E "^(VCINSTALLDIR|VCToolsVersion|PATH|INCLUDE|LIB)=" vs_env.txt >> $env:GITHUB_ENV
144+ VS_FOUND=true
145+ break
146+ fi
147+ done
148+
149+ if [ "$VS_FOUND" = false ]; then
150+ echo "Visual Studio not found in standard locations"
151+ echo "Trying to find vcvarsall.bat using where command..."
152+ VS_PATH=$(where vcvarsall.bat 2>nul)
153+ if [ -n "$VS_PATH" ]; then
154+ echo "Found vcvarsall.bat at: $VS_PATH"
155+ cmd //c "\"$VS_PATH\" x64 && set" > vs_env.txt
156+ grep -E "^(VCINSTALLDIR|VCToolsVersion|PATH|INCLUDE|LIB)=" vs_env.txt >> $env:GITHUB_ENV
157+ else
158+ echo "Error: Visual Studio Build Tools not found"
159+ echo "Please install Visual Studio Build Tools with C++ workload"
160+ exit 1
161+ fi
162+ fi
163+
164+ echo "Visual Studio environment setup completed"
165+ shell : bash
117166
118167 - name : Install Rust (Windows)
119168 if : ${{ contains(matrix.settings.host, 'windows') }}
0 commit comments