[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
This commit is contained in:
Doug Bunting 2021-06-01 14:41:00 -07:00 committed by GitHub
parent e8bafa3913
commit 18409d9120
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 30 additions and 20 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -20,9 +20,9 @@
<!-- PR(ci.yaml) required queues -->
<ItemGroup Condition="'$(IsRequiredCheck)' == 'true' AND '$(TargetArchitecture)' == 'x64'">
<HelixAvailableTargetQueue Include="Ubuntu.1604.Amd64.Open" Platform="Linux" />
<HelixAvailableTargetQueue Include="Ubuntu.1804.Amd64.Open" Platform="Linux" />
<HelixAvailableTargetQueue Include="Windows.10.Amd64.Open" Platform="Windows" />
<HelixAvailableTargetQueue Include="OSX.1014.Amd64.Open" Platform="Linux" />
<HelixAvailableTargetQueue Include="OSX.1014.Amd64.Open" Platform="OSX" />
</ItemGroup>
<!-- queues for helix-matrix.yml pipeline -->
@ -30,11 +30,10 @@
<HelixAvailableTargetQueue Include="Windows.7.Amd64.Open" Platform="Windows" />
<HelixAvailableTargetQueue Include="Windows.81.Amd64.Open" Platform="Windows" />
<HelixAvailableTargetQueue Include="Windows.10.Amd64.Server20H1.Open" Platform="Windows" />
<HelixAvailableTargetQueue Include="Ubuntu.1804.Amd64.Open" Platform="Linux" />
<HelixAvailableTargetQueue Include="Ubuntu.2004.Amd64.Open" Platform="Linux" />
<HelixAvailableTargetQueue Include="Debian.9.Amd64.Open" Platform="Linux" />
<HelixAvailableTargetQueue Include="Redhat.7.Amd64.Open" Platform="Linux" />
<HelixAvailableTargetQueue Include="(Fedora.28.Amd64.Open)Ubuntu.1604.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-28-helix-09ca40b-20190508143249" Platform="Linux" />
<HelixAvailableTargetQueue Include="(Fedora.33.Amd64.Open)Ubuntu.1804.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-33-helix-20210120000908-a9df267" Platform="Linux" />
</ItemGroup>
<!-- arm64 queues for helix-matrix.yml pipeline -->

View File

@ -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);