Skip to content

Commit bc9d646

Browse files
committed
ci: fix in windows/linux environment
1 parent 48bf909 commit bc9d646

File tree

1 file changed

+53
-4
lines changed

1 file changed

+53
-4
lines changed

.github/workflows/CI.yml

Lines changed: 53 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)