Skip to content

Commit 91d5bd8

Browse files
committed
ci: Avoid toolset ambiguity that MSVC can't handle
This change is required to work with the new windows-2022 image version 20231115 properly.
1 parent 98b0acd commit 91d5bd8

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

.github/workflows/ci.yml

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,55 @@ jobs:
136136
- name: Checkout
137137
uses: actions/checkout@v4
138138

139+
- name: Fix Visual Studio installation
140+
# Avoid toolset ambiguity that MSVC can't handle.
141+
run: |
142+
Set-Location "C:\Program Files (x86)\Microsoft Visual Studio\Installer\"
143+
$InstallPath = "C:\Program Files\Microsoft Visual Studio\2022\Enterprise"
144+
$componentsToRemove= @(
145+
"Microsoft.VisualStudio.Component.VC.14.37.17.7.ARM.Spectre"
146+
"Microsoft.VisualStudio.Component.VC.14.37.17.7.ARM"
147+
"Microsoft.VisualStudio.Component.VC.14.37.17.7.ARM64.Spectre"
148+
"Microsoft.VisualStudio.Component.VC.14.37.17.7.ARM64"
149+
"Microsoft.VisualStudio.Component.VC.14.37.17.7.ATL.ARM.Spectre"
150+
"Microsoft.VisualStudio.Component.VC.14.37.17.7.ATL.ARM"
151+
"Microsoft.VisualStudio.Component.VC.14.37.17.7.ATL.ARM64.Spectre"
152+
"Microsoft.VisualStudio.Component.VC.14.37.17.7.ATL.ARM64"
153+
"Microsoft.VisualStudio.Component.VC.14.37.17.7.ATL.Spectre"
154+
"Microsoft.VisualStudio.Component.VC.14.37.17.7.ATL"
155+
"Microsoft.VisualStudio.Component.VC.14.37.17.7.MFC.ARM.Spectre"
156+
"Microsoft.VisualStudio.Component.VC.14.37.17.7.MFC.ARM"
157+
"Microsoft.VisualStudio.Component.VC.14.37.17.7.MFC.ARM64.Spectre"
158+
"Microsoft.VisualStudio.Component.VC.14.37.17.7.MFC.ARM64"
159+
"Microsoft.VisualStudio.Component.VC.14.37.17.7.MFC.Spectre"
160+
"Microsoft.VisualStudio.Component.VC.14.37.17.7.MFC"
161+
"Microsoft.VisualStudio.Component.VC.14.37.17.7.x86.x64.Spectre"
162+
"Microsoft.VisualStudio.Component.VC.14.37.17.7.x86.x64"
163+
"Microsoft.VisualStudio.Component.VC.14.38.17.8.ARM"
164+
"Microsoft.VisualStudio.Component.VC.14.38.17.8.ARM.Spectre"
165+
"Microsoft.VisualStudio.Component.VC.14.38.17.8.ARM64"
166+
"Microsoft.VisualStudio.Component.VC.14.38.17.8.ARM64.Spectre"
167+
"Microsoft.VisualStudio.Component.VC.14.38.17.8.ATL"
168+
"Microsoft.VisualStudio.Component.VC.14.38.17.8.ATL.ARM"
169+
"Microsoft.VisualStudio.Component.VC.14.38.17.8.ATL.ARM.Spectre"
170+
"Microsoft.VisualStudio.Component.VC.14.38.17.8.ATL.ARM64"
171+
"Microsoft.VisualStudio.Component.VC.14.38.17.8.ATL.ARM64.Spectre"
172+
"Microsoft.VisualStudio.Component.VC.14.38.17.8.ATL.Spectre"
173+
"Microsoft.VisualStudio.Component.VC.14.38.17.8.MFC"
174+
"Microsoft.VisualStudio.Component.VC.14.38.17.8.MFC.ARM"
175+
"Microsoft.VisualStudio.Component.VC.14.38.17.8.MFC.ARM.Spectre"
176+
"Microsoft.VisualStudio.Component.VC.14.38.17.8.MFC.ARM64"
177+
"Microsoft.VisualStudio.Component.VC.14.38.17.8.MFC.ARM64.Spectre"
178+
"Microsoft.VisualStudio.Component.VC.14.38.17.8.MFC.Spectre"
179+
"Microsoft.VisualStudio.Component.VC.14.38.17.8.x86.x64"
180+
"Microsoft.VisualStudio.Component.VC.14.38.17.8.x86.x64.Spectre"
181+
)
182+
[string]$workloadArgs = $componentsToRemove | ForEach-Object {" --remove " + $_}
183+
$Arguments = ('/c', "vs_installer.exe", 'modify', '--installPath', "`"$InstallPath`"",$workloadArgs, '--quiet', '--norestart', '--nocache')
184+
# should be run twice
185+
$process = Start-Process -FilePath cmd.exe -ArgumentList $Arguments -Wait -PassThru -WindowStyle Hidden
186+
$process = Start-Process -FilePath cmd.exe -ArgumentList $Arguments -Wait -PassThru -WindowStyle Hidden
187+
139188
- name: Configure Developer Command Prompt for Microsoft Visual C++
140189
# Using microsoft/setup-msbuild is not enough.
141190
uses: ilammy/msvc-dev-cmd@v1

0 commit comments

Comments
 (0)