Virtual-environments: Add Visual Studio 2015 to Windows 2016

Created on 10 Feb 2020  ·  11Comments  ·  Source: actions/virtual-environments

Tool information

  • Tool name: Visual Studio 2015
  • Add or update? Add
  • Desired version: 2015, latest
  • Approximate size:
  • If this is an add request:

Area for Triage:

C/C++
enhancement

Question, Bug, or Feature?:

Feature

Virtual environments affected

  • [ ] macOS 10.15
  • [ ] Ubuntu 16.04 LTS
  • [ ] Ubuntu 18.04 LTS
  • [ ] Windows Server 2016 R2
  • [x] Windows Server 2019

Can this tool be installed during the build?

I'm not sure about 2015, people have installed 2017 on the fly, which seems to take around 14 minutes for every single build according to this issue.

I have tried installing VS 2015 via chocolatey (https://chocolatey.org/packages/VisualStudio2015Community). It had a timeout after 45 minutes which can be prevented, but that doesn't even matter, as 45 minutes are already way too long.

Are you willing to submit a PR?
This seems like major work for which I'm not sure if I have the knowledge and time


Background:
We are using both Azure Pipelines and GitHub actions right now. Our Windows builds do run on Azure Pipelines, however. Therefore, I was unsure If I should open this issue here or in the Azure Pipelines repository. Since the AZP repository refers to this repository, as both seem to use the same Windows images, I figured that I'm going to open this issue here.

We are building packages for the C/C++ package manager Conan. We build for various configurations and settings, including Visual Studio 2015, 2017 and 2019.

Installing them on the fly is a huge amount of additional maintenance and (most likely) takes unacceptable long. So we rely on provided images.

Azure Pipelines provides images for all tree VS versions so far:

  • 2015 - vs2015-win2012r2
  • 2017 - vs2017-win2016
  • 2019 - windows-2019

Azure Pipelines announced (https://devblogs.microsoft.com/devops/removing-older-images-in-azure-pipelines-hosted-pools/) to remove vs2015-win2012r2 on March 23, 2020.

There are also already loose plans to remove the vs2017-win2016 image (https://github.com/actions/virtual-environments/issues/68), so the target to provide a VS 2015 installation should be the windows-2019 image.

Please provide a Visual Studio 2015 installation in the Windows 2019 image before March 23, thanks!

C++ Windows enhancement

Most helpful comment

VS 2015 is useful for building Python extensions. Adding it to windows-2016 sounds good. Do you have a time line for implementing this? We could use it right now.

All 11 comments

Azure Pipelines / GitHub Actions / Windows / Visual Studio 2015 are all Microsoft products.

If Azure Pipelines and GitHub Actions do not provide a Visual Studio 2015 installation anymore, we are ironically forced to move our builds to a non-Microsoft CI platform.

Quick update here. We've tabled our plans to remove the windows-2016 environment. Our thinking for this issue is to Add VS 2015 to that image instead of 2019. We'll look into that and get back to this issue.

Thanks for the update @thejoebourneidentity

Adding Visual Studio 2015 to the windows-2016 image sounds good to me too 👍

Good. ReactOS wanted to test builds by it's soon minimum supported VS 2015 version: https://github.com/reactos/reactos/pull/2658

VS 2015 is useful for building Python extensions. Adding it to windows-2016 sounds good. Do you have a time line for implementing this? We could use it right now.

Hey 👋,

after some internal discussions, we decided not to add VS 2015 to Windows 2016 image because supporting of two different Visual Studio versions on a single image is a tricky task: we would have to completely isolate them and all their components from each other to avoid possible conflicts, which means significant restructuring of environment that could lead to unexpected customers impact.

I am going to close this issue. Please, feel free to file a new one in case of any questions.
Thank you.

I respect the decision, if the decision is not to add support for VS 2015 at all. After all, it is already 5 years old.

That said, the reasoning for closing this issue sounds weird. I personally don't care to which image VS 2015 would be added, including an entire new image. And I suspect that this the case for the vast majority of people interested in VS 2015 support.

My reason for proposing a specific image as a target was the result of a discussion about removing the vs2017-win2016 image too (#68), which would have made the VS 2019 image the only Windows image remaining (as explained in my initial comment).

So please, @AlenaSviridenko, could you specify if you discussed adding support for VS 2015 _in general_ and decided for a No — or — if you discussed adding VS 2015 image only to a specific image and decided for a No, because of complications of having two different VS versions in the same image?

@Croydon, yeah, I might have provided not a very clear explanation, sorry for that.
The decision was made in general.
Despite the base image, having two different Visual Studio versions is a complicated task that could bring unexpected image changes we cannot predict beforehand.
Currently, we still don't have any ETA on dropping support for Windows 2016.

@AlenaSviridenko I'm still confused... Does this mean that the door is still open to adding VS 2015 to a different Windows 2019 image?

@AlenaSviridenko, could you clarify if the "VS 2015 C++ build tools (v14.00)" (i.e. Microsoft.VisualStudio.Component.VC.140) would be provided in the Windows 2016 image?

With them available, at least in my case, I have no problem build my VS 2015 projects.

@ivailop we already have this component on Windows 2016 image, it is listed in Components table https://github.com/actions/virtual-environments/blob/main/images/win/Windows2016-Readme.md#workloads-components-and-extensions. Does it work for you?

@grafikrobot unfortunately, no. We are not planning to add VS 2015 to any image atm.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

trajano picture trajano  ·  3Comments

mxschmitt picture mxschmitt  ·  3Comments

orj picture orj  ·  4Comments

frankieroberto picture frankieroberto  ·  4Comments

estebanes22 picture estebanes22  ·  3Comments