[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(parameters.useHostedUbuntu, false) }}:
${{ if eq(variables['System.TeamProject'], 'public') }}: ${{ if eq(variables['System.TeamProject'], 'public') }}:
name: NetCorePublic-Pool name: NetCorePublic-Pool
queue: BuildPool.Ubuntu.1604.Amd64.Open queue: BuildPool.Ubuntu.1804.Amd64.Open
${{ if eq(variables['System.TeamProject'], 'internal') }}: ${{ if eq(variables['System.TeamProject'], 'internal') }}:
name: NetCoreInternal-Pool name: NetCoreInternal-Pool
queue: BuildPool.Ubuntu.1604.Amd64 queue: BuildPool.Ubuntu.1804.Amd64
${{ if eq(parameters.agentOs, 'Windows') }}: ${{ if eq(parameters.agentOs, 'Windows') }}:
${{ if eq(variables['System.TeamProject'], 'public') }}: ${{ if eq(variables['System.TeamProject'], 'public') }}:
name: NetCorePublic-Pool name: NetCorePublic-Pool

View File

@ -128,7 +128,7 @@ jobs:
- template: jobs/default-build.yml - template: jobs/default-build.yml
parameters: parameters:
jobName: Linux_Quarantined_Test jobName: Linux_Quarantined_Test
jobDisplayName: "Tests: Ubuntu 16.04 x64" jobDisplayName: "Tests: Ubuntu 18.04 x64"
agentOs: Linux agentOs: Linux
timeoutInMinutes: 60 timeoutInMinutes: 60
isTestingJob: true 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 ## Overview of the helix usage in our pipelines
- Required queues: Windows10, OSX, Ubuntu1604 - Required queues: Windows10, OSX, Ubuntu1804
- Full queue matrix: Windows[7, 81, 10], Ubuntu[1604, 1804, 2004], Centos7, Debian9, Redhat7, Fedora28, Arm64 (Win10, Debian9) - 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/master/eng/targets/Helix.Common.props) - 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-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 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 .PARAMETER HelixQueues
Set the Helix queues to use. The list is '+' or ';'-separated. Set the Helix queues to use. The list is '+' or ';'-separated.
Some supported queues: Some supported queues:
Ubuntu.1604.Amd64.Open
Ubuntu.1804.Amd64.Open Ubuntu.1804.Amd64.Open
Ubuntu.2004.Amd64.Open
Windows.10.Amd64.Open Windows.10.Amd64.Open
Windows.10.Amd64.Server20H2.Open
Windows.81.Amd64.Open Windows.81.Amd64.Open
Windows.7.Amd64.Open Windows.7.Amd64.Open
OSX.1014.Amd64.Open OSX.1014.Amd64.Open
Centos.7.Amd64.Open
Debian.9.Amd64.Open Debian.9.Amd64.Open
Redhat.7.Amd64.Open Redhat.7.Amd64.Open
.PARAMETER RunQuarantinedTests .PARAMETER RunQuarantinedTests
By default quarantined tests are not run. Set this to $true to run only the quarantined tests. 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( param(
[Parameter(Mandatory=$true)] [Parameter(Mandatory=$true)]
[string]$Project, [string]$Project,
[string]$HelixQueues = "Windows.10.Amd64.Open", [string]$HelixQueues = "Windows.10.Amd64.Open",
[switch]$RunQuarantinedTests,
[ValidateSet('x64', 'x86', 'arm', 'arm64')]
[string]$TargetArchitecture = "x64", [string]$TargetArchitecture = "x64",
[bool]$RunQuarantinedTests = $false
# Capture the rest
[Parameter(ValueFromRemainingArguments = $true)]
[string[]]$MSBuildArguments
) )
$ErrorActionPreference = 'Stop' $ErrorActionPreference = 'Stop'
$ProgressPreference = 'SilentlyContinue' # Workaround PowerShell/PowerShell#2138 $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" $HelixQueues = $HelixQueues -replace ";", "%3B"
dotnet msbuild $Project /t:Helix /p:TargetArchitecture="$TargetArchitecture" /p:IsRequiredCheck=true ` dotnet msbuild $Project /t:Helix /p:TargetArchitecture="$TargetArchitecture" /p:IsRequiredCheck=true `
/p:IsHelixDaily=true /p:HelixTargetQueues=$HelixQueues /p:RunQuarantinedTests=$RunQuarantinedTests ` /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 --> <!-- PR(ci.yaml) required queues -->
<ItemGroup Condition="'$(IsRequiredCheck)' == 'true' AND '$(TargetArchitecture)' == 'x64'"> <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="Windows.10.Amd64.Open" Platform="Windows" />
<HelixAvailableTargetQueue Include="OSX.1014.Amd64.Open" Platform="Linux" /> <HelixAvailableTargetQueue Include="OSX.1014.Amd64.Open" Platform="OSX" />
</ItemGroup> </ItemGroup>
<!-- queues for helix-matrix.yml pipeline --> <!-- queues for helix-matrix.yml pipeline -->
@ -30,11 +30,10 @@
<HelixAvailableTargetQueue Include="Windows.7.Amd64.Open" Platform="Windows" /> <HelixAvailableTargetQueue Include="Windows.7.Amd64.Open" Platform="Windows" />
<HelixAvailableTargetQueue Include="Windows.81.Amd64.Open" Platform="Windows" /> <HelixAvailableTargetQueue Include="Windows.81.Amd64.Open" Platform="Windows" />
<HelixAvailableTargetQueue Include="Windows.10.Amd64.Server20H1.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="Ubuntu.2004.Amd64.Open" Platform="Linux" />
<HelixAvailableTargetQueue Include="Debian.9.Amd64.Open" Platform="Linux" /> <HelixAvailableTargetQueue Include="Debian.9.Amd64.Open" Platform="Linux" />
<HelixAvailableTargetQueue Include="Redhat.7.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> </ItemGroup>
<!-- arm64 queues for helix-matrix.yml pipeline --> <!-- arm64 queues for helix-matrix.yml pipeline -->

View File

@ -79,9 +79,6 @@ namespace Microsoft.AspNetCore.Identity.Test
[Theory] [Theory]
[MemberData(nameof(ScriptWithFallbackSrcData))] [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) public async Task IdentityUI_ScriptTags_FallbackSourceContent_Matches_CDNContent(ScriptTag scriptTag)
{ {
var wwwrootDir = Path.Combine(GetProjectBasePath(), "wwwroot", scriptTag.Version); var wwwrootDir = Path.Combine(GetProjectBasePath(), "wwwroot", scriptTag.Version);