Browse Source

Start skipping helix ready tests on azdo runs (#17109)

Hao Kung 6 năm trước cách đây
mục cha
commit
524bba8ff4

+ 4 - 4
.azure/pipelines/ci.yml

@@ -440,7 +440,7 @@ stages:
       jobDisplayName: "Test: Windows Server 2016 x64"
       jobDisplayName: "Test: Windows Server 2016 x64"
       agentOs: Windows
       agentOs: Windows
       isTestingJob: true
       isTestingJob: true
-      buildArgs: -all -pack -test -BuildNative "/p:SkipIISNewHandlerTests=true /p:SkipIISTests=true /p:SkipIISExpressTests=true /p:SkipIISNewShimTests=true /p:RunTemplateTests=false"
+      buildArgs: -all -pack -test -BuildNative "/p:SkipHelixReadyTests=true /p:SkipIISNewHandlerTests=true /p:SkipIISTests=true /p:SkipIISExpressTests=true /p:SkipIISNewShimTests=true /p:RunTemplateTests=false"
       beforeBuild:
       beforeBuild:
       - powershell: "& ./src/Servers/IIS/tools/UpdateIISExpressCertificate.ps1; & ./src/Servers/IIS/tools/update_schema.ps1"
       - powershell: "& ./src/Servers/IIS/tools/UpdateIISExpressCertificate.ps1; & ./src/Servers/IIS/tools/update_schema.ps1"
         displayName: Setup IISExpress test certificates and schema
         displayName: Setup IISExpress test certificates and schema
@@ -503,7 +503,7 @@ stages:
       jobDisplayName: "Test: macOS 10.13"
       jobDisplayName: "Test: macOS 10.13"
       agentOs: macOS
       agentOs: macOS
       isTestingJob: true
       isTestingJob: true
-      buildArgs: --all --test "/p:RunTemplateTests=false"
+      buildArgs: --all --test "/p:RunTemplateTests=false /p:SkipHelixReadyTests=true"
       beforeBuild:
       beforeBuild:
       - bash: "./eng/scripts/install-nginx-mac.sh"
       - bash: "./eng/scripts/install-nginx-mac.sh"
         displayName: Installing Nginx
         displayName: Installing Nginx
@@ -538,7 +538,7 @@ stages:
       jobDisplayName: "Test: Ubuntu 16.04 x64"
       jobDisplayName: "Test: Ubuntu 16.04 x64"
       agentOs: Linux
       agentOs: Linux
       isTestingJob: true
       isTestingJob: true
-      buildArgs: --all --test "/p:RunTemplateTests=false"
+      buildArgs: --all --test "/p:RunTemplateTests=false /p:SkipHelixReadyTests=true"
       beforeBuild:
       beforeBuild:
       - bash: "./eng/scripts/install-nginx-linux.sh"
       - bash: "./eng/scripts/install-nginx-linux.sh"
         displayName: Installing Nginx
         displayName: Installing Nginx
@@ -579,7 +579,7 @@ stages:
       steps:
       steps:
       - script: .\restore.cmd -ci
       - script: .\restore.cmd -ci
         displayName: Restore
         displayName: Restore
-      - script: .\build.cmd -ci -NoRestore -test -projects eng\helix\helix.proj /p:IsRequiredCheck=true /p:IsHelixJob=true /p:BuildAllProjects=true /p:BuildNative=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log -bl
+      - script: .\build.cmd -ci -NoRestore -test -projects eng\helix\helix.proj /p:IsRequiredCheck=true /p:IsHelixJob=true /p:BuildAllProjects=true /p:BuildNative=true /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log -bl
         displayName: Run build.cmd helix target
         displayName: Run build.cmd helix target
         env:
         env:
           SYSTEM_ACCESSTOKEN: $(System.AccessToken) # We need to set this env var to publish helix results to Azure Dev Ops
           SYSTEM_ACCESSTOKEN: $(System.AccessToken) # We need to set this env var to publish helix results to Azure Dev Ops

+ 0 - 27
.azure/pipelines/helix-test.yml

@@ -1,27 +0,0 @@
-# Don't run CI for this config yet. We're not ready to move official builds on to Azure Pipelines
-trigger: none
-
-# Run PR validation on all branches
-pr:
-  branches:
-    include:
-    - '*'
-
-jobs:
-- template: jobs/default-build.yml
-  parameters:
-    jobName: Helix_x64
-    jobDisplayName: 'Tests: Helix x64'
-    agentOs: Windows
-    timeoutInMinutes: 240
-    steps:
-    - script: .\restore.cmd -ci
-      displayName: Restore
-    - script: .\build.cmd -ci -NoRestore -test -projects eng\helix\helix.proj /p:IsHelixJob=true /p:BuildAllProjects=true /p:BuildNative=true -bl
-      displayName: Run build.cmd helix target
-      env:
-        SYSTEM_ACCESSTOKEN: $(System.AccessToken) # We need to set this env var to publish helix results to Azure Dev Ops
-    artifacts:
-    - name: Helix_logs
-      path: artifacts/log/
-      publishOnError: true

+ 1 - 0
Directory.Build.targets

@@ -99,6 +99,7 @@
     <IsPackable Condition="'$(IsPackable)' == '' ">false</IsPackable>
     <IsPackable Condition="'$(IsPackable)' == '' ">false</IsPackable>
 
 
     <BuildHelixPayload Condition="'$(BuildHelixPayload)' == '' AND '$(IsTestProject)' == 'true'">true</BuildHelixPayload>
     <BuildHelixPayload Condition="'$(BuildHelixPayload)' == '' AND '$(IsTestProject)' == 'true'">true</BuildHelixPayload>
+    <SkipTests Condition="'$(SkipHelixReadyTests)' == 'true' AND '$(BuildHelixPayload)' == 'true'">true</SkipTests>
   </PropertyGroup>
   </PropertyGroup>
 
 
   <ItemGroup Condition="'$(Language)' == 'C#' AND '$(IsReferenceAssemblyProject)' == 'true'">
   <ItemGroup Condition="'$(Language)' == 'C#' AND '$(IsReferenceAssemblyProject)' == 'true'">

+ 17 - 26
eng/targets/Helix.Common.props

@@ -6,13 +6,28 @@
     <HelixAvailablePlatform Include="Linux" />
     <HelixAvailablePlatform Include="Linux" />
   </ItemGroup>
   </ItemGroup>
 
 
-  <!-- required for green PR queues  -->
-  <ItemGroup Condition="'$(IsWindowsOnlyTest)' != 'true' AND '$(TargetArchitecture)' == 'x64' AND '$(IsRequiredCheck)' == 'true'">
+  <ItemGroup Condition="'$(IsWindowsOnlyTest)' == 'true'">
+    <HelixAvailablePlatform Include="Windows" />
+    
+    <HelixContent Include="$(RepoRoot)src\Servers\IIS\tools\update_schema.ps1" />
+    <HelixContent Include="$(RepoRoot)src\Servers\IIS\tools\UpdateIISExpressCertificate.ps1" />
+    <HelixContent Include="$(RepoRoot)src\Servers\IIS\tools\TestCert.pfx" />
+    <HelixContent Include="$(RepoRoot)src\Servers\IIS\AspNetCoreModuleV2\AspNetCore\aspnetcore_schema_v2.xml" />
+
+    <HelixPreCommand Include="call RunPowershell.cmd update_schema.ps1 || exit /b 1" />
+    <HelixPreCommand Include="call RunPowershell.cmd UpdateIISExpressCertificate.ps1 || exit /b 1" />    
+  </ItemGroup>
+
+  <!-- ubuntu and win10 required for green PR queues  -->
+  <ItemGroup Condition="'$(IsRequiredCheck)' == 'true' AND '$(TargetArchitecture)' == 'x64'">
     <HelixAvailableTargetQueue Include="Ubuntu.1604.Amd64.Open" Platform="Linux" />
     <HelixAvailableTargetQueue Include="Ubuntu.1604.Amd64.Open" Platform="Linux" />
+    <HelixAvailableTargetQueue Include="Windows.10.Amd64.Open" Platform="Windows" />
   </ItemGroup>
   </ItemGroup>
 
 
   <!-- daily scheduled only queues -->
   <!-- daily scheduled only queues -->
   <ItemGroup Condition="'$(IsWindowsOnlyTest)' != 'true' AND '$(TargetArchitecture)' == 'x64' AND '$(IsHelixDaily)' == 'true'">
   <ItemGroup Condition="'$(IsWindowsOnlyTest)' != 'true' AND '$(TargetArchitecture)' == 'x64' AND '$(IsHelixDaily)' == 'true'">
+    <HelixAvailableTargetQueue Include="Windows.81.Amd64.Open" Platform="Windows" />
+    <HelixAvailableTargetQueue Include="Windows.7.Amd64.Open" Platform="Windows" />
     <HelixAvailableTargetQueue Include="Ubuntu.1804.Amd64.Open" Platform="Linux" />
     <HelixAvailableTargetQueue Include="Ubuntu.1804.Amd64.Open" Platform="Linux" />
     <HelixAvailableTargetQueue Include="OSX.1014.Amd64.Open" Platform="Linux" />
     <HelixAvailableTargetQueue Include="OSX.1014.Amd64.Open" Platform="Linux" />
     <HelixAvailableTargetQueue Include="Centos.7.Amd64.Open" Platform="Linux" />
     <HelixAvailableTargetQueue Include="Centos.7.Amd64.Open" Platform="Linux" />
@@ -31,28 +46,4 @@
     <HelixAvailableTargetQueue Include="(Ubuntu-1804.Arm64.Open)[email protected]/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm64v8-6f28fa9-20190606004102" Platform="Linux" />
     <HelixAvailableTargetQueue Include="(Ubuntu-1804.Arm64.Open)[email protected]/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm64v8-6f28fa9-20190606004102" Platform="Linux" />
     -->
     -->
   </ItemGroup>
   </ItemGroup>
-  
-  <!-- non required queues run on every PR -->
-  <ItemGroup Condition="'$(IsWindowsOnlyTest)' != 'true' AND '$(TargetArchitecture)' == 'x64' AND '$(IsRequiredCheck)' != 'true'">
-    <HelixAvailableTargetQueue Include="Windows.10.Amd64.Open" Platform="Windows" />
-    <HelixAvailableTargetQueue Include="Windows.81.Amd64.Open" Platform="Windows" />
-    <HelixAvailableTargetQueue Include="Windows.7.Amd64.Open" Platform="Windows" />
-  </ItemGroup>
-
-  <ItemGroup Condition="'$(IsWindowsOnlyTest)' == 'true' AND '$(IsRequiredCheck)' != 'true'">
-    <HelixAvailablePlatform Include="Windows" />
-
-    <HelixAvailableTargetQueue Include="Windows.10.Amd64.Open" Platform="Windows" />
-    <HelixAvailableTargetQueue Include="Windows.81.Amd64.Open" Platform="Windows" />
-    <HelixAvailableTargetQueue Include="Windows.7.Amd64.Open" Platform="Windows" />
-
-    <HelixContent Include="$(RepoRoot)src\Servers\IIS\tools\update_schema.ps1" />
-    <HelixContent Include="$(RepoRoot)src\Servers\IIS\tools\UpdateIISExpressCertificate.ps1" />
-    <HelixContent Include="$(RepoRoot)src\Servers\IIS\tools\TestCert.pfx" />
-    <HelixContent Include="$(RepoRoot)src\Servers\IIS\AspNetCoreModuleV2\AspNetCore\aspnetcore_schema_v2.xml" />
-
-    <HelixPreCommand Include="call RunPowershell.cmd update_schema.ps1 || exit /b 1" />
-    <HelixPreCommand Include="call RunPowershell.cmd UpdateIISExpressCertificate.ps1 || exit /b 1" />
-  </ItemGroup>
-  
 </Project>
 </Project>

+ 1 - 0
src/Components/test/E2ETest/Microsoft.AspNetCore.Components.E2ETests.csproj

@@ -12,6 +12,7 @@
 
 
     <!-- Run on platforms where we support Selenium -->
     <!-- Run on platforms where we support Selenium -->
     <SkipTests Condition="'$(SeleniumE2ETestsSupported)' != 'true'">true</SkipTests>
     <SkipTests Condition="'$(SeleniumE2ETestsSupported)' != 'true'">true</SkipTests>
+    <SkipTests Condition="'$(SeleniumE2ETestsSupported)' == 'true'">false</SkipTests>
 
 
     <!-- Tests do not work on Helix or when bin/ directory is not in project directory due to undeclared dependency on test content. -->
     <!-- Tests do not work on Helix or when bin/ directory is not in project directory due to undeclared dependency on test content. -->
     <BaseOutputPath />
     <BaseOutputPath />

+ 1 - 0
src/ProjectTemplates/test/ProjectTemplates.Tests.csproj

@@ -14,6 +14,7 @@
     <!-- Tests do not work on Helix or when bin/ directory is not in project directory due to undeclared dependency on test content. -->
     <!-- Tests do not work on Helix or when bin/ directory is not in project directory due to undeclared dependency on test content. -->
     <!-- https://github.com/dotnet/aspnetcore/issues/6857 -->
     <!-- https://github.com/dotnet/aspnetcore/issues/6857 -->
     <BuildHelixPayload>false</BuildHelixPayload>
     <BuildHelixPayload>false</BuildHelixPayload>
+    <SkipTests Condition="'$(RunTemplateTests)' == 'true'">false</SkipTests>
     <BaseOutputPath />
     <BaseOutputPath />
     <OutputPath />
     <OutputPath />