Skip to content

Commit 480fe92

Browse files
MSP-Gregeregon
authored andcommitted
windows.js - update addVCVARSEnv to work with all windows images
1 parent 4fbcf63 commit 480fe92

File tree

1 file changed

+17
-4
lines changed

1 file changed

+17
-4
lines changed

windows.js

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ const certFile = 'C:\\Program Files\\Git\\mingw64\\ssl\\cert.pem'
2222
const msys = `${drive}:\\DevKit64`
2323
const msysPathEntries = [`${msys}\\mingw\\x86_64-w64-mingw32\\bin`, `${msys}\\mingw\\bin`, `${msys}\\bin`]
2424

25+
const virtualEnv = common.getVirtualEnvironmentName()
26+
2527
export function getAvailableVersions(platform, engine) {
2628
if (engine === 'ruby') {
2729
return Object.keys(rubyInstallerVersions)
@@ -58,8 +60,6 @@ export async function install(platform, engine, version) {
5860

5961
const winMSYS2Type = common.setupPath([`${rubyPrefix}\\bin`, ...toolchainPaths])
6062

61-
const virtualEnv = common.getVirtualEnvironmentName()
62-
6363
if (!['windows-2019', 'windows-2016'].includes(virtualEnv)) {
6464
await installMSY2Tools()
6565
}
@@ -175,9 +175,22 @@ async function setupMSWin() {
175175
/* Sets MSVC environment for use in Actions
176176
* allows steps to run without running vcvars*.bat, also for PowerShell
177177
* adds a convenience VCVARS environment variable
178-
* this assumes a single Visual Studio version being available in the windows-latest image */
178+
* this assumes a single Visual Studio version being available in the window images */
179179
export function addVCVARSEnv() {
180-
const vcVars = '"C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars64.bat"'
180+
let vcVars = ''
181+
switch (virtualEnv) {
182+
case 'windows-2016':
183+
vcVars = '"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Enterprise\\VC\\Auxiliary\\Build\\vcvars64.bat"'
184+
break
185+
case 'windows-2019':
186+
vcVars = '"C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars64.bat"'
187+
break
188+
case 'windows-2022':
189+
vcVars = '"C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\VC\\Auxiliary\\Build\\vcvars64.bat"'
190+
break
191+
default:
192+
throw new Error(`Unknown Windows Image: ${virtualEnv}`)
193+
}
181194
core.exportVariable('VCVARS', vcVars)
182195

183196
let newEnv = new Map()

0 commit comments

Comments
 (0)