From 52f3f792635e2fb3526b2c3990073d37405c1e48 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Fri, 19 Apr 2019 14:54:52 -0700 Subject: [PATCH] Use VS2019 Enterprise queues for testing (#9571) --- .azure/pipelines/ci.yml | 6 ++-- .azure/pipelines/jobs/default-build.yml | 37 +++++++++++++++++-------- eng/scripts/InstallSqlServerLocalDB.ps1 | 34 ----------------------- 3 files changed, 29 insertions(+), 48 deletions(-) delete mode 100644 eng/scripts/InstallSqlServerLocalDB.ps1 diff --git a/.azure/pipelines/ci.yml b/.azure/pipelines/ci.yml index c84579b8d4..3961ab44ad 100644 --- a/.azure/pipelines/ci.yml +++ b/.azure/pipelines/ci.yml @@ -295,11 +295,10 @@ jobs: jobName: Windows_Test jobDisplayName: "Test: Windows Server 2016 x64" agentOs: Windows + isTestingJob: true buildScript: ./eng/scripts/cibuild.cmd buildArgs: -test "/p:SkipIISBackwardsCompatibilityTests=true /p:SkipIISTests=true /p:SkipIISExpressTests=true /p:SkipIISForwardsCompatibilityTests=true /p:RunTemplateTests=false" beforeBuild: - - powershell: ./eng/scripts/InstallSqlServerLocalDB.ps1 - displayName: Install SQL Server 2016 Express LocalDB - powershell: "& ./src/Servers/IIS/tools/UpdateIISExpressCertificate.ps1; & ./src/Servers/IIS/tools/update_schema.ps1" displayName: Setup IISExpress test certificates and schema afterBuild: @@ -317,6 +316,7 @@ jobs: jobName: Windows_Templates_Test jobDisplayName: "Test: Templates - Windows Server 2016 x64" agentOs: Windows + isTestingJob: true buildScript: ./src/ProjectTemplates/build.cmd buildArgs: -ci -test -NoRestore -NoBuild -NoBuilddeps "/p:RunTemplateTests=true" beforeBuild: @@ -333,6 +333,7 @@ jobs: jobName: MacOs_Test jobDisplayName: "Test: macOS 10.13" agentOs: macOs + isTestingJob: true buildScript: ./eng/scripts/cibuild.sh buildArgs: --test beforeBuild: @@ -353,6 +354,7 @@ jobs: jobName: Linux_Test jobDisplayName: "Test: Ubuntu 16.04 x64" agentOs: Linux + isTestingJob: true buildScript: ./eng/scripts/cibuild.sh buildArgs: --test beforeBuild: diff --git a/.azure/pipelines/jobs/default-build.yml b/.azure/pipelines/jobs/default-build.yml index 9d341473a6..285c970be9 100644 --- a/.azure/pipelines/jobs/default-build.yml +++ b/.azure/pipelines/jobs/default-build.yml @@ -94,12 +94,22 @@ jobs: ${{ if ne(parameters.poolName, '') }}: name: ${{ parameters.poolName }} ${{ if and(eq(parameters.poolName, ''), eq(parameters.agentOs, 'Windows')) }}: - ${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}: + ${{ if eq(variables['System.TeamProject'], 'public') }}: name: NetCorePublic-Int-Pool - queue: BuildPool.Windows.10.Amd64.VS2019.BT.Open - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: + ${{ if ne(parameters.isTestingJob, true) }}: + # Visual Studio Build Tools + queue: BuildPool.Windows.10.Amd64.VS2019.BT.Open + ${{ if eq(parameters.isTestingJob, true) }}: + # Visual Studio Enterprise - contains some stuff, like SQL Server and IIS Express, that we use for testing + queue: BuildPool.Windows.10.Amd64.VS2019.Open + ${{ if eq(variables['System.TeamProject'], 'internal') }}: name: NetCoreInternal-Int-Pool - queue: BuildPool.Windows.10.Amd64.VS2019.BT + ${{ if ne(parameters.isTestingJob, true) }}: + # Visual Studio Build Tools + queue: BuildPool.Windows.10.Amd64.VS2019.BT + ${{ if eq(parameters.isTestingJob, true) }}: + # Visual Studio Enterprise - contains some stuff, like SQL Server and IIS Express, that we use for testing + queue: BuildPool.Windows.10.Amd64.VS2019 variables: AgentOsName: ${{ parameters.agentOs }} ASPNETCORE_TEST_LOG_MAXPATH: "200" # Keep test log file name length low enough for artifact zipping @@ -112,10 +122,13 @@ jobs: TeamName: AspNetCore ${{ if eq(parameters.agentOs, 'Windows') }}: JAVA_HOME: $(Agent.BuildDirectory)\.tools\jdk - ${{ if or(ne(parameters.codeSign, 'true'), ne(variables['System.TeamProject'], 'internal')) }}: + ${{ if or(ne(parameters.codeSign, true), ne(variables['System.TeamProject'], 'internal')) }}: _SignType: '' - ${{ if and(eq(parameters.codeSign, 'true'), eq(variables['System.TeamProject'], 'internal')) }}: - _SignType: real + ${{ if and(eq(parameters.codeSign, true), eq(variables['System.TeamProject'], 'internal')) }}: + ${{ if ne(variables['Build.Reason'], 'PullRequest') }}: + _SignType: real + ${{ if eq(variables['Build.Reason'], 'PullRequest') }}: + _SignType: test ${{ insert }}: ${{ parameters.variables }} steps: - checkout: self @@ -131,11 +144,11 @@ jobs: Write-Host "##vso[task.prependpath]$env:JAVA_HOME\bin" displayName: Install JDK 11 - - powershell: | - Write-Host "##vso[task.setvariable variable=SeleniumProcessTrackingFolder]$(BuildDirectory)\obj\selenium\" - ./eng/scripts/InstallGoogleChrome.ps1 - - displayName: Install Chrome + - ${{ if eq(parameters.isTestingJob, true) }}: + - powershell: | + Write-Host "##vso[task.setvariable variable=SeleniumProcessTrackingFolder]$(BuildDirectory)\obj\selenium\" + ./eng/scripts/InstallGoogleChrome.ps1 + displayName: Install Chrome - ${{ if and(eq(variables['System.TeamProject'], 'internal'), eq(parameters.agentOs, 'Windows'), eq(parameters.codeSign, 'true')) }}: - task: MicroBuildSigningPlugin@1 displayName: Install MicroBuild Signing plugin diff --git a/eng/scripts/InstallSqlServerLocalDB.ps1 b/eng/scripts/InstallSqlServerLocalDB.ps1 deleted file mode 100644 index 807d0e68a2..0000000000 --- a/eng/scripts/InstallSqlServerLocalDB.ps1 +++ /dev/null @@ -1,34 +0,0 @@ -<# -.SYNOPSIS - Installs SQL Server 2016 Express LocalDB on a machine. -.DESCRIPTION - This script installs Microsoft SQL Server 2016 Express LocalDB on a machine. -.LINK - https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/sql-server-2016-express-localdb?view=sql-server-2016 - https://docs.microsoft.com/en-us/sql/database-engine/install-windows/install-sql-server-from-the-command-prompt?view=sql-server-2016 -#> - -$ErrorActionPreference = 'Stop' -$ProgressPreference = 'SilentlyContinue' # Workaround PowerShell/PowerShell#2138 -Set-StrictMode -Version 1 - -$intermedateDir = "$PSScriptRoot\obj" -mkdir $intermedateDir -ErrorAction Ignore | Out-Null - -Write-Host "Installing SQL Server 2016 Express LocalDB" -f Magenta - -# Download SqlLocalDB.msi. -$installerFilename = "SqlLocalDB.msi" -$installerPath = "$intermedateDir\$installerFilename" -Write-Host "" -Write-Host "Downloading '$installerFilename' to '$installerPath'." -Invoke-WebRequest -OutFile $installerPath -Uri ` - "https://download.microsoft.com/download/9/0/7/907AD35F-9F9C-43A5-9789-52470555DB90/ENU/SqlLocalDB.msi" - -# Install LocalDB. -$arguments = '/package', "`"$installerPath`"", '/NoRestart', '/Passive', ` - 'IACCEPTSQLLOCALDBLICENSETERMS=YES', 'HIDEPROGRESSBAR=YES' -Write-Host "" -Write-Host "Running 'msiexec $arguments'." -$process = Start-Process msiexec.exe -ArgumentList $arguments -NoNewWindow -PassThru -Verbose -Wait -exit $process.ExitCode