appveyor / ci

AppVeyor community support repository
https://www.appveyor.com
344 stars 66 forks source link

Visual Studio 2017 RC #1179

Closed FeodorFitsner closed 7 years ago

FeodorFitsner commented 7 years ago

After installing VS 2017 RC on top of VS 2015 base image:

  1. Install AppVeyor vstest.console logger and MSTestV2 support libraries

  2. Replace MSBuild in PATH with MSBuild 15.0

  3. Install latest NuGet 3.5

  4. Pre-cache .NET Core:

    cd %temp% md app1 cd app1 dotnet new dotnet restore dotnet run

  5. Install CMake 3.7.1

  6. Re-install Git and Git LFS

  7. Disable Bonjour Service and IpOverUsbSvc and services:

    Set-Service -Name 'Bonjour Service' -StartupType Disabled Set-Service -Name 'IpOverUsbSvc' -StartupType Disabled

  8. Apply workaround for NuGet Build Tasks

niemyjski commented 7 years ago

We really really need this, any updates not this?

ghuntley commented 7 years ago

madskristensen commented 7 years ago

Is the image created to include everything the "Visual Studio 2015" image has + Visual Studio 2017 RC with SDK?

FeodorFitsner commented 7 years ago

Well, this is what we were going to do - install VS 2017 RC on top of VS 2015 image. Would that work or you have other suggestions?

clairernovotny commented 7 years ago

One suggestion might be to include the build number in the image name... the version of the RC was updated two days ago, which is later than the one released last Wed. Might be safe to assume there'll be more, so there'll either need to be a way to identify them or something to keep an eye on the updates and roll out new images.

FeodorFitsner commented 7 years ago

I think we'll be maintaining a single Visual Studio 2017 RC image and update VS 2017 in it as soon as new updates appear.

FeodorFitsner commented 7 years ago

We've got a build worker image with Visual Studio 2017 RC installed. Before making it available for everyone we'd like to do some for of "private beta", so please let us know if you want this image to be added under your account (either post your AppVeyor account name here or send to team@).

madskristensen commented 7 years ago

@FeodorFitsner I would love to give it a spin. Account name "madskristensen"

andrewvk commented 7 years ago

andrewvk

FeodorFitsner commented 7 years ago

Image named Visual Studio 2017 RC has been added to both accounts.

ejsmith commented 7 years ago

ejsmith

FeodorFitsner commented 7 years ago

@ejsmith - done

madskristensen commented 7 years ago

@FeodorFitsner It works great! Just built an extension successfully. Thanks

georgeduckett commented 7 years ago

Yes please, georgeduckett

madskristensen commented 7 years ago

@FeodorFitsner I have an extension with a unit test project and when AppVeyor builds it, I get this issue:

Error: Could not find a test logger with URI or FriendlyName 'Appveyor'

ig-sinicyn commented 7 years ago

@FeodorFitsner

ours failed with

vstest.console /logger:Appveyor "C:\projects\codejam\PerfTests\src-MSTest\bin\Release\CodeJam.PerfTests.MSTest.dll" "C:\projects\codejam\PerfTests\tests-MSTest\bin\Release\CodeJam.PerfTests-Tests.MSTest.dll"

Microsoft (R) Test Execution Command Line Tool Version 15.0.0.0
Copyright (c) Microsoft Corporation.  All rights reserved.
Error: Could not find a test logger with URI or FriendlyName 'Appveyor'.
Command exited with code 1

Get-ChildItem *.PerfTests.log -r | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
Uploading artifact CodeJam-Tests.Performance.ImportantOnly.PerfTests.log (39,279 bytes)...100%

Appveyor.yml is here.

FeodorFitsner commented 7 years ago

Thanks, will take a look.

janhohenheim commented 7 years ago

Can I try it too? I'm logged into AppVeyor with this Github account.

FeodorFitsner commented 7 years ago

@georgeduckett, @SirRade - added

georgeduckett commented 7 years ago

@FeodorFitsner, just tried compiling my extension which uses some C#7 syntax and it fails: https://ci.appveyor.com/project/georgeduckett/teamcoding I believe I've set the environment correctly. Is there something else I need to do?

FeodorFitsner commented 7 years ago

Add this to project's appveyor.yml:

image: Visual Studio 2017 RC
georgeduckett commented 7 years ago

@FeodorFitsner That's done the trick, thanks. Any reason why setting the Build Worker Image in Settings for the project didn't work?

FeodorFitsner commented 7 years ago

because if it's appveyor.yml then all settings should be there - UI settings are ignored.

georgeduckett commented 7 years ago

Ahh ok, thanks.

TcT2k commented 7 years ago

I would like to try the beta. (using this github account)

janhohenheim commented 7 years ago

@FeodorFitsner Works great so far, thank you very much. I first had the same trouble that @georgeduckett had. The solution is not very intuitive.

caitchison commented 7 years ago

I would love to be in this beta. Account name is trinocity

matthargett commented 7 years ago

Same here. Account name is matthargett. I'd love to try the Windows Server 2016 beta as well.

FeodorFitsner commented 7 years ago

@TcT2k, @caitchison, @matthargett - image added

TcT2k commented 7 years ago

@FeodorFitsner Thank you, it works for me, see my build here

I would be nice if you could include an updated CMake in the image. The current release 3.7.0 is not yet compatible with VS 2017 RC but the current nightlies are.

djanosik commented 7 years ago

djanosik - thank you!

FeodorFitsner commented 7 years ago

@djanosik - done

FeodorFitsner commented 7 years ago

@TcT2k this is the script we use for updating CMake on build workers. You can adopt it for installing CMake nightly builds:

$cmakeUninstallPath = "${env:ProgramFiles(x86)}\CMake\Uninstall.exe"
if([IO.File]::Exists($cmakeUninstallPath)) {
    Write-Host "Uninstalling previous CMake ..." -ForegroundColor Cyan
    # uninstall existent
    "`"$cmakeUninstallPath`" /S" | out-file ".\uninstall-cmake.cmd" -Encoding ASCII
    & .\uninstall-cmake.cmd
    del .\uninstall-cmake.cmd
    Start-Sleep -s 5
}

Write-Host "Installing CMake 3.6.2 ..." -ForegroundColor Cyan
$msiPath = "$($env:TEMP)\cmake-3.6.2-win32-x86.msi"

Write-Host "Downloading..."
(New-Object Net.WebClient).DownloadFile('https://cmake.org/files/v3.6/cmake-3.6.2-win32-x86.msi', $msiPath)

Write-Host "Installing..."
cmd /c start /wait msiexec /i $msiPath /quiet
del $msiPath

Write-Host "CMake 3.6.2 installed" -ForegroundColor Green
FeodorFitsner commented 7 years ago

@ig-sinicyn, @madskristensen - we've fixed AppVeyor logger issue with VS 2017. Please give it another try and let us know how that worked.

ig-sinicyn commented 7 years ago

It works, thanks!

ig-sinicyn commented 7 years ago

@FeodorFitsner can you add my account too?

Need to do some A-B testing on our project:)

FeodorFitsner commented 7 years ago

@ig-sinicyn - added

dgrunwald commented 7 years ago

@FeodorFitsner: can you add the icsharpcode github organization account?

jabbera commented 7 years ago

@FeodorFitsner: can you add this github account please? jabbera Thanks!

FeodorFitsner commented 7 years ago

@dgrunwald, @jabbera - added.

Rpinski commented 7 years ago

It seems like msbuild auto-detection does not select msbuild 15 in case of VS 2017 RC image. We have a project using the new .csproj format which requires msbuild 15. Appveyor always auto-detects msbuild 14.

We tried to set the path manually (see our appveyor.yml), but that didn't help either.

Our build job: https://ci.appveyor.com/project/icsharpcode/refactoringessentials-wgnsw

Could you help? Thank you!

clairernovotny commented 7 years ago

@FeodorFitsner can you please add onovotny and dotnetfoundation?

frozenskys commented 7 years ago

@FeodorFitsner can you please also add frozenskys - thanks :)

FeodorFitsner commented 7 years ago

@onovotny, @frozenskys - added

FeodorFitsner commented 7 years ago

@Rpinski - you mean nuget's auto-detection of msbuild?

martijnhoekstra commented 7 years ago

+1 opt-in for the github account martijnhoekstra

FeodorFitsner commented 7 years ago

@martijnhoekstra - added

Rpinski commented 7 years ago

@FeodorFitsner Yes, it seems so. Meanwhile I found out that I've just missed following log message:

[00:00:22] Microsoft (R) Build Engine version 15.1.371.0

So MSBuild looks ok, but still compiler can't find any type from assemblies from NuGet packages on AppVeyor, while the same build works locally. OK, I'll need to investigate a little bit more...

clairernovotny commented 7 years ago

@FeodorFitsner suggestion for the image -- run dotnet restore or some other command prior to baking the image. That will prepopulate the offline cache so every user doesn't have to. It'll save you bandwith and make builds faster:

dotnet restore Refit.sln

Welcome to .NET Core!

---------------------

Learn more about .NET Core @ https://aka.ms/dotnet-docs. Use dotnet --help to see available commands or go to https://aka.ms/dotnet-cli-docs.

Telemetry

--------------

The .NET Core tools collect usage data in order to improve your experience. The data is anonymous and does not include commandline arguments. The data is collected by Microsoft and shared with the community.

You can opt out of telemetry by setting a DOTNET_CLI_TELEMETRY_OPTOUT environment variable to 1 using your favorite shell.

You can read more about .NET Core tools telemetry @ https://aka.ms/dotnet-cli-telemetry.

Configuring...

-------------------

A command is running to initially populate your local package cache, to improve restore speed and enable offline access. This command will take up to a minute to complete and will only happen once.

Decompressing 0%Decompressing 1%Decompressing 2%Decompressing 3%Decompressing 4%Decompressing 5%Decompressing 6%Decompressing 7%Decompressing 8%Decompressing 9%Decompressing 10%Decompressing 11%Decompressing 12%Decompressing 13%Decompressing 14%Decompressing 15%Decompressing 16%Decompressing 17%Decompressing 18%Decompressing 19%Decompressing 20%Decompressing 21%Decompressing 22%Decompressing 23%Decompressing 24%Decompressing 25%Decompressing 26%Decompressing 27%Decompressing 28%Decompressing 29%Decompressing 30%Decompressing 31%Decompressing 32%Decompressing 33%Decompressing 34%Decompressing 35%Decompressing 36%Decompressing 37%Decompressing 38%Decompressing 39%Decompressing 40%Decompressing 41%Decompressing 42%Decompressing 43%Decompressing 44%Decompressing 45%Decompressing 46%Decompressing 47%Decompressing 48%Decompressing 49%Decompressing 50%Decompressing 51%Decompressing 52%Decompressing 53%Decompressing 54%Decompressing 55%Decompressing 56%Decompressing 57%Decompressing 58%Decompressing 59%Decompressing 60%Decompressing 61%Decompressing 62%Decompressing 63%Decompressing 64%Decompressing 65%Decompressing 66%Decompressing 67%Decompressing 68%Decompressing 69%Decompressing 70%Decompressing 71%Decompressing 72%Decompressing 73%Decompressing 74%Decompressing 75%Decompressing 76%Decompressing 77%Decompressing 78%Decompressing 79%Decompressing 80%Decompressing 81%Decompressing 82%Decompressing 83%Decompressing 84%Decompressing 85%Decompressing 86%Decompressing 87%Decompressing 88%Decompressing 89%Decompressing 90%Decompressing 91%Decompressing 92%Decompressing 93%Decompressing 94%Decompressing 95%Decompressing 96%Decompressing 97%Decompressing 98%Decompressing 99%Decompressing 100% 3084 ms

Expanding 0%Expanding 1%Expanding 2%Expanding 3%Expanding 4%Expanding 5%Expanding 6%Expanding 7%Expanding 8%Expanding 9%Expanding 10%Expanding 11%Expanding 12%Expanding 13%Expanding 14%Expanding 15%Expanding 16%Expanding 17%Expanding 18%Expanding 19%Expanding 20%Expanding 21%Expanding 22%Expanding 23%Expanding 24%Expanding 25%Expanding 26%Expanding 27%Expanding 28%Expanding 29%Expanding 30%Expanding 31%Expanding 32%Expanding 33%Expanding 34%Expanding 35%Expanding 36%Expanding 37%Expanding 38%Expanding 39%Expanding 40%Expanding 41%Expanding 42%Expanding 43%Expanding 44%Expanding 45%Expanding 46%Expanding 47%Expanding 48%Expanding 49%Expanding 50%Expanding 51%Expanding 52%Expanding 53%Expanding 54%Expanding 55%Expanding 56%Expanding 57%Expanding 58%Expanding 59%Expanding 60%Expanding 61%Expanding 62%Expanding 63%Expanding 64%Expanding 65%Expanding 66%Expanding 67%Expanding 68%Expanding 69%Expanding 70%Expanding 71%Expanding 72%Expanding 73%Expanding 74%Expanding 75%Expanding 76%Expanding 77%Expanding 78%Expanding 79%Expanding 80%Expanding 81%Expanding 82%Expanding 83%Expanding 84%Expanding 85%Expanding 86%Expanding 87%Expanding 88%Expanding 89%Expanding 90%Expanding 91%Expanding 92%Expanding 93%Expanding 94%Expanding 95%Expanding 96%Expanding 97%Expanding 98%Expanding 99%Expanding 100% 10886 ms
FeodorFitsner commented 7 years ago

@Rpinski Are you restoring the package with command line nuget or from Visual Studio IDE? I don't know how to make command-line nuget recognizing MSBuild 15.0. I've tried both nuget 3.5 and even nightly build at no avail: https://ci.appveyor.com/project/FeodorFitsner/xunit-rair/build/1.0.56#L4