Skip to content

windows-latest uses 14.37 toolkit instead of 14.38 #9086

@thomthom

Description

@thomthom

Description

According to the Windows2022 image description the Visual Studio VC 14.38 toolkit should be available:
https://github.com/actions/runner-images/blob/main/images/windows/Windows2022-Readme.md

image

I have a Visual Studio 2022 project set to use v143 toolset (default, not locked to any version) and latest Windows SDK.

Locally this picks up VC 14.38.33130, but on the GitHub agent I'm getting 14.37.32822.

As seen in the logs:

ClCompile:
         C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.37.32822\bin\HostX86\x64\CL.exe

This particular project have warnings treated as errors and the std lib with 14.37.32822 will emit warnings (thus errors in my configuration).

My workflow is picking msbuild with the following setup:

    - name: Add MSBuild.exe to PATH
      uses: microsoft/setup-msbuild@v1.3
      with:
        vs-version: '[17.8,18.0)' # Version 17.*

It accepts Visual Studio 17.8 as a minimum version, but it's not picking the 14.38 toolkit that shipped with that version.

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
  • Windows Server 2019
  • Windows Server 2022

Image version and build link

Version: 20231217.2.0

Is it regression?

unknown

Expected behavior

I would expect the latest VC (14.38) toolkit installed to be picked when my Visual Studio project is setup to use latest.

Actual behavior

I'm seeing that my build uses VC 14.37.

Repro steps

jobs:
  build-win:
    runs-on: windows-latest

    - name: Add MSBuild.exe to PATH
      uses: microsoft/setup-msbuild@v1.3
      with:
        vs-version: '[17.8,18.0)' # Version 17.*

    - uses: actions/checkout@v4

    - name: Build Binaries - Windows - Release
      shell: cmd
      run: msbuild Release.proj /maxcpucount:2 /p:RunCodeAnalysis=False

The project is not a public one.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions