-
Notifications
You must be signed in to change notification settings - Fork 3.5k
Description
Description
vcvarsall.bat when not passed a vcvars_ver parameter should be returning the latest installed VC++ compiler toolset. However, this does not seem to be the case. It is returning an older version. The following build is a minimal reproduction.
https://github.com/ThadHouse/ActionsDebug/actions/runs/8044801044/job/21968983003
The print after [vcvarsall.bat] Environment initialized for: 'x86_x64' Should be returning 14.39.33519. However, it is returning 14.38.33130. The dir command ran afterward shows that the 14.39.33519 folder does exist, and it should be the chosen toolchain.
This makes it so any GitHub actions builds using vcvarsall.bat don't actually detect the newest version of the compiler. However, tools that don't use vcvarsall.bat will find the newest version. Which can result in binaries built in one section of the build not being compatible with binaries built in another section.
Platforms affected
- Azure DevOps
- GitHub Actions - Standard Runners
- GitHub Actions - Larger Runners
Runner images affected
- Ubuntu 20.04
- Ubuntu 22.04
- macOS 11
- macOS 12
- macOS 13
- macOS 13 Arm64
- macOS 14
- macOS 14 Arm64
- Windows Server 2019
- Windows Server 2022
Image version and build link
Image: windows-2022
Version: 20240218.2.0
Included Software: https://github.com/actions/runner-images/blob/win22/20240218.2/images/windows/Windows2022-Readme.md
Image Release: https://github.com/actions/runner-images/releases/tag/win22%2F20240218.2
https://github.com/ThadHouse/ActionsDebug/actions/runs/8044801044/job/21968983003
Is it regression?
Yes
Expected behavior
Toolchain 14.39.33519 is selected
Actual behavior
Toolchain 14.38.33130 is selected
Repro steps
- Run vcvarsall.bat
- See that the selected toolchain is incorrect