From 18409d9120bc019b6037542c6ea3b887f414c7bd Mon Sep 17 00:00:00 2001 From: Doug Bunting <6431421+dougbu@users.noreply.github.com> Date: Tue, 1 Jun 2021 14:41:00 -0700 Subject: [PATCH] [release/5.0] Clean out Ubuntu 16.04 testing (#33103) * [release/5.0] Clean out Ubuntu 16.04 testing - cherry-pick of #32894 * Clean out Ubuntu 16.04 testing - use Ubuntu 18.04 agents for testing in Docker containers on Helix - also move to supported version of Fedora * Support added `msbuild` arguments in RunHelix.ps1 - bring in part of 0551cef40f5f (#32554) - no reason to maintain major differences from main version of script - slight difference is we still test on Windows.10.Amd64.Open by default here nits: - clean up a few old mentions of Centos and Fedora testing - fix `%(Platform)` metadata for OSX `@(HelixAvailableTargetQueue)` items - pick up a small bit of the master -> main renaming improvements - use `[switch]` instead of `[bool]` in RunHelix.ps1 parameters --- .azure/pipelines/jobs/default-build.yml | 4 ++-- .azure/pipelines/quarantined-pr.yml | 2 +- docs/Helix.md | 12 +++++----- eng/scripts/RunHelix.ps1 | 22 +++++++++++++++---- eng/targets/Helix.Common.props | 7 +++--- .../Identity.Test/IdentityUIScriptsTest.cs | 3 --- 6 files changed, 30 insertions(+), 20 deletions(-) diff --git a/.azure/pipelines/jobs/default-build.yml b/.azure/pipelines/jobs/default-build.yml index c37d31ea54..9996b79ef7 100644 --- a/.azure/pipelines/jobs/default-build.yml +++ b/.azure/pipelines/jobs/default-build.yml @@ -99,10 +99,10 @@ jobs: ${{ if eq(parameters.useHostedUbuntu, false) }}: ${{ if eq(variables['System.TeamProject'], 'public') }}: name: NetCorePublic-Pool - queue: BuildPool.Ubuntu.1604.Amd64.Open + queue: BuildPool.Ubuntu.1804.Amd64.Open ${{ if eq(variables['System.TeamProject'], 'internal') }}: name: NetCoreInternal-Pool - queue: BuildPool.Ubuntu.1604.Amd64 + queue: BuildPool.Ubuntu.1804.Amd64 ${{ if eq(parameters.agentOs, 'Windows') }}: ${{ if eq(variables['System.TeamProject'], 'public') }}: name: NetCorePublic-Pool diff --git a/.azure/pipelines/quarantined-pr.yml b/.azure/pipelines/quarantined-pr.yml index 35e103e180..5b89191bd8 100644 --- a/.azure/pipelines/quarantined-pr.yml +++ b/.azure/pipelines/quarantined-pr.yml @@ -128,7 +128,7 @@ jobs: - template: jobs/default-build.yml parameters: jobName: Linux_Quarantined_Test - jobDisplayName: "Tests: Ubuntu 16.04 x64" + jobDisplayName: "Tests: Ubuntu 18.04 x64" agentOs: Linux timeoutInMinutes: 60 isTestingJob: true diff --git a/docs/Helix.md b/docs/Helix.md index 477574dc2c..49c076b3be 100644 --- a/docs/Helix.md +++ b/docs/Helix.md @@ -18,17 +18,17 @@ This will restore, and then publish all the test project including some bootstra ## Overview of the helix usage in our pipelines -- Required queues: Windows10, OSX, Ubuntu1604 -- Full queue matrix: Windows[7, 81, 10], Ubuntu[1604, 1804, 2004], Centos7, Debian9, Redhat7, Fedora28, Arm64 (Win10, Debian9) -- The queues are defined in [Helix.Common.props](https://github.com/dotnet/aspnetcore/blob/master/eng/targets/Helix.Common.props) +- Required queues: Windows10, OSX, Ubuntu1804 +- Full queue matrix: Windows[7, 81, 10], Ubuntu[1804, 2004], Debian9, Redhat7, Arm64 (Win10, Debian9) +- The queues are defined in [Helix.Common.props](https://github.com/dotnet/aspnetcore/blob/main/eng/targets/Helix.Common.props) [aspnetcore-ci](https://dev.azure.com/dnceng/public/_build?definitionId=278) runs non quarantined tests against the required helix queues as a required PR check and all builds on all branches. -[aspnetcore-helix-matrix](https://dev.azure.com/dnceng/public/_build?definitionId=837) runs non quarantined tests against all queues twice a day only on public master. +[aspnetcore-helix-matrix](https://dev.azure.com/dnceng/public/_build?definitionId=837) runs non quarantined tests against all queues twice a day only on public main. -[aspnetcore-quarantined-pr](https://dev.azure.com/dnceng/public/_build?definitionId=869) runs only quarantined tests against the required queues on PRs and on master every 4 hours. +[aspnetcore-quarantined-pr](https://dev.azure.com/dnceng/public/_build?definitionId=869) runs only quarantined tests against the required queues on PRs and on main every 4 hours. -[aspnetcore-quarantined-tests](https://dev.azure.com/dnceng/public/_build?definitionId=331) runs only quarantined tests against all queues only on public master once a day at 11 PM. +[aspnetcore-quarantined-tests](https://dev.azure.com/dnceng/public/_build?definitionId=331) runs only quarantined tests against all queues only on public main once a day at 11 PM. You can always manually queue pipeline runs by clicking on the link to the pipeline -> Run Pipeline -> select your branch/tag and commit diff --git a/eng/scripts/RunHelix.ps1 b/eng/scripts/RunHelix.ps1 index 777077b421..1f5e43d5fd 100644 --- a/eng/scripts/RunHelix.ps1 +++ b/eng/scripts/RunHelix.ps1 @@ -8,25 +8,38 @@ .PARAMETER HelixQueues Set the Helix queues to use. The list is '+' or ';'-separated. Some supported queues: - Ubuntu.1604.Amd64.Open Ubuntu.1804.Amd64.Open + Ubuntu.2004.Amd64.Open Windows.10.Amd64.Open + Windows.10.Amd64.Server20H2.Open Windows.81.Amd64.Open Windows.7.Amd64.Open OSX.1014.Amd64.Open - Centos.7.Amd64.Open Debian.9.Amd64.Open Redhat.7.Amd64.Open .PARAMETER RunQuarantinedTests By default quarantined tests are not run. Set this to $true to run only the quarantined tests. +.PARAMETER TargetArchitecture + The CPU architecture to build for (x64, x86, arm). Default=x64 +.PARAMETER MSBuildArguments + Additional MSBuild arguments to be passed through. #> +[CmdletBinding(PositionalBinding = $false)] param( [Parameter(Mandatory=$true)] [string]$Project, + [string]$HelixQueues = "Windows.10.Amd64.Open", + [switch]$RunQuarantinedTests, + + [ValidateSet('x64', 'x86', 'arm', 'arm64')] [string]$TargetArchitecture = "x64", - [bool]$RunQuarantinedTests = $false + + # Capture the rest + [Parameter(ValueFromRemainingArguments = $true)] + [string[]]$MSBuildArguments ) + $ErrorActionPreference = 'Stop' $ProgressPreference = 'SilentlyContinue' # Workaround PowerShell/PowerShell#2138 @@ -43,4 +56,5 @@ Write-Host -ForegroundColor Yellow "And if packing for a different platform, add $HelixQueues = $HelixQueues -replace ";", "%3B" dotnet msbuild $Project /t:Helix /p:TargetArchitecture="$TargetArchitecture" /p:IsRequiredCheck=true ` /p:IsHelixDaily=true /p:HelixTargetQueues=$HelixQueues /p:RunQuarantinedTests=$RunQuarantinedTests ` - /p:_UseHelixOpenQueues=true /p:CrossgenOutput=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log + /p:_UseHelixOpenQueues=true /p:CrossgenOutput=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log ` + @MSBuildArguments diff --git a/eng/targets/Helix.Common.props b/eng/targets/Helix.Common.props index 07b8246029..9a93090fa4 100644 --- a/eng/targets/Helix.Common.props +++ b/eng/targets/Helix.Common.props @@ -20,9 +20,9 @@ - + - + @@ -30,11 +30,10 @@ - - + diff --git a/src/Identity/test/Identity.Test/IdentityUIScriptsTest.cs b/src/Identity/test/Identity.Test/IdentityUIScriptsTest.cs index d8b16ff741..07ba2eb34d 100644 --- a/src/Identity/test/Identity.Test/IdentityUIScriptsTest.cs +++ b/src/Identity/test/Identity.Test/IdentityUIScriptsTest.cs @@ -79,9 +79,6 @@ namespace Microsoft.AspNetCore.Identity.Test [Theory] [MemberData(nameof(ScriptWithFallbackSrcData))] - // Ubuntu 16 uses an old version of OpenSSL that doesn't work well when an intermediate CA is expired. - // We've decided to not run these tests against that OS anymore and will run on newer versions of Ubuntu. - [SkipOnHelix("Skip on Ubuntu 16", Queues = "Ubuntu.1604.Amd64.Open;Ubuntu.1604.Amd64")] public async Task IdentityUI_ScriptTags_FallbackSourceContent_Matches_CDNContent(ScriptTag scriptTag) { var wwwrootDir = Path.Combine(GetProjectBasePath(), "wwwroot", scriptTag.Version);