aspnetcore/.azure/pipelines/quarantined-tests.yml

146 строки
5.4 KiB
YAML
Исходник Обычный вид История

# We want to run quarantined tests on master as well as on PRs
trigger:
batch: true
branches:
include:
- master
schedules:
- cron: "0 */4 * * *"
displayName: Every 4 hours test run
branches:
include:
- master
always: true
2020-02-20 23:46:37 +03:00
variables:
- ${{ if ne(variables['System.TeamProject'], 'internal') }}:
- name: _UseHelixOpenQueues
value: 'true'
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
- group: DotNet-HelixApi-Access
2020-02-20 23:46:37 +03:00
- name: _UseHelixOpenQueues
value: 'false'
jobs:
- template: jobs/default-build.yml
parameters:
jobName: Helix_quarantined_x64
jobDisplayName: 'Tests: Helix'
agentOs: Windows
timeoutInMinutes: 180
steps:
# Build the shared framework
Build primarily with `dotnet msbuild` (#22017) * Make `dotnet msbuild` the default on Windows too - add step using desktop `msbuild` when native builds may be involved - `-All` (without `-NoBuildNative`), `-BuildNative` or `-BuildInstallers` run this step - but `-ForceCoreMsbuild` unconditionally skips this step nits: - add binary log for RepoTasks build if `$BinaryLog` (echoes the `dotnet msbuild` command) - add blank lines between build steps * Enable building managed projects depending on native assets - splitting native builds out confuses these projects - use `$(BuildNative)` less, only to control actual building (not bundling) - build both native platforms in one `msbuild` invocation * Adjust generation scripts to explicitly choose the MSBuild engine - ensure native assets are included in GenerateReferenceAssemblies.ps1 build - clean up the global state that tools.ps1 corrupts * Revert move to VS2019.Pre queues This reverts part of commit b67d161e03350053e4664af6386f5ace4991b254 - was "[release/5.0-preview5] Update dependencies from dotnet/aspnetcore-tooling (#21710)" * Revert "!temporary! Require `msbuild` from VS2019 16.6" - this reverts commit 58cf2304a642312477dc41cd9651e6f4c2d39286 * Reduce build duplication in pipelines - build native assets and repo tasks once per CI job - only cleanup framework references after packing managed projects nits: - wrap a few long lines - remove extra `-forceCoreMsbuild` options in SiteExtensions' build.cmd * Fix Helix jobs - restore.cmd doesn't work well with `-projects`; script unconditionally adds `-all` * !fixup! Reduce duplications further - missed a couple of places `-noBuildRepoTasks` helps * Cleanup: Remove a few dangling binary logs * !fixup! Correct typos in generation scripts * !fixup! Another typo in the generation scripts
2020-05-30 05:02:03 +03:00
- script: ./build.cmd -ci -nobl -all -pack -arch x64 /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log
displayName: Build shared fx
Build primarily with `dotnet msbuild` (#22017) * Make `dotnet msbuild` the default on Windows too - add step using desktop `msbuild` when native builds may be involved - `-All` (without `-NoBuildNative`), `-BuildNative` or `-BuildInstallers` run this step - but `-ForceCoreMsbuild` unconditionally skips this step nits: - add binary log for RepoTasks build if `$BinaryLog` (echoes the `dotnet msbuild` command) - add blank lines between build steps * Enable building managed projects depending on native assets - splitting native builds out confuses these projects - use `$(BuildNative)` less, only to control actual building (not bundling) - build both native platforms in one `msbuild` invocation * Adjust generation scripts to explicitly choose the MSBuild engine - ensure native assets are included in GenerateReferenceAssemblies.ps1 build - clean up the global state that tools.ps1 corrupts * Revert move to VS2019.Pre queues This reverts part of commit b67d161e03350053e4664af6386f5ace4991b254 - was "[release/5.0-preview5] Update dependencies from dotnet/aspnetcore-tooling (#21710)" * Revert "!temporary! Require `msbuild` from VS2019 16.6" - this reverts commit 58cf2304a642312477dc41cd9651e6f4c2d39286 * Reduce build duplication in pipelines - build native assets and repo tasks once per CI job - only cleanup framework references after packing managed projects nits: - wrap a few long lines - remove extra `-forceCoreMsbuild` options in SiteExtensions' build.cmd * Fix Helix jobs - restore.cmd doesn't work well with `-projects`; script unconditionally adds `-all` * !fixup! Reduce duplications further - missed a couple of places `-noBuildRepoTasks` helps * Cleanup: Remove a few dangling binary logs * !fixup! Correct typos in generation scripts * !fixup! Another typo in the generation scripts
2020-05-30 05:02:03 +03:00
- script: ./build.cmd -ci -nobl -noBuildRepoTasks -restore -noBuild -projects src/Grpc/**/*.csproj
displayName: Restore interop projects
Build primarily with `dotnet msbuild` (#22017) * Make `dotnet msbuild` the default on Windows too - add step using desktop `msbuild` when native builds may be involved - `-All` (without `-NoBuildNative`), `-BuildNative` or `-BuildInstallers` run this step - but `-ForceCoreMsbuild` unconditionally skips this step nits: - add binary log for RepoTasks build if `$BinaryLog` (echoes the `dotnet msbuild` command) - add blank lines between build steps * Enable building managed projects depending on native assets - splitting native builds out confuses these projects - use `$(BuildNative)` less, only to control actual building (not bundling) - build both native platforms in one `msbuild` invocation * Adjust generation scripts to explicitly choose the MSBuild engine - ensure native assets are included in GenerateReferenceAssemblies.ps1 build - clean up the global state that tools.ps1 corrupts * Revert move to VS2019.Pre queues This reverts part of commit b67d161e03350053e4664af6386f5ace4991b254 - was "[release/5.0-preview5] Update dependencies from dotnet/aspnetcore-tooling (#21710)" * Revert "!temporary! Require `msbuild` from VS2019 16.6" - this reverts commit 58cf2304a642312477dc41cd9651e6f4c2d39286 * Reduce build duplication in pipelines - build native assets and repo tasks once per CI job - only cleanup framework references after packing managed projects nits: - wrap a few long lines - remove extra `-forceCoreMsbuild` options in SiteExtensions' build.cmd * Fix Helix jobs - restore.cmd doesn't work well with `-projects`; script unconditionally adds `-all` * !fixup! Reduce duplications further - missed a couple of places `-noBuildRepoTasks` helps * Cleanup: Remove a few dangling binary logs * !fixup! Correct typos in generation scripts * !fixup! Another typo in the generation scripts
2020-05-30 05:02:03 +03:00
- script: ./build.cmd -ci -nobl -noBuildRepoTasks -noRestore -test -all -noBuildJava -noBuildNative
-projects eng\helix\helix.proj /p:RunQuarantinedTests=true /p:IsRequiredCheck=true /p:IsHelixJob=true
/p:BuildInteropProjects=true /p:RunTemplateTests=true /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log
displayName: Run build.cmd helix target
env:
HelixApiAccessToken: $(HelixApiAccessToken) # Needed for internal queues
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
- template: jobs/default-build.yml
parameters:
jobName: Windows_Quarantined_x64
jobDisplayName: 'Tests: Windows x64'
agentOs: Windows
timeoutInMinutes: 180
isTestingJob: true
steps:
- powershell: "& ./build.ps1 -CI -nobl -all -pack -NoBuildJava"
displayName: Build
# The templates part can be removed when the Blazor Templates run on Helix
- script: ./src/ProjectTemplates/build.cmd -ci -nobl -pack -NoRestore -NoBuilddeps "/p:RunTemplateTests=true"
displayName: Pack Templates
- script: ./build.cmd -ci -nobl -test -NoRestore -NoBuild -NoBuilddeps "/p:RunTemplateTests=true /p:RunQuarantinedTests=true /p:SkipHelixReadyTests=true"
displayName: Run Quarantined Tests
condition: always()
- task: PublishTestResults@2
displayName: Publish Quarantined Test Results
inputs:
testResultsFormat: 'xUnit'
testResultsFiles: '*.xml'
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)/Quarantined'
condition: always()
artifacts:
- name: Windows_Quarantined_Test_Logs
path: artifacts/log/
publishOnError: true
includeForks: true
- name: Windows_Quarantined_Test_Results
path: artifacts/TestResults/
publishOnError: true
includeForks: true
- template: jobs/default-build.yml
parameters:
jobName: MacOS_Quarantined_Test
jobDisplayName: "Tests: macOS 10.14"
agentOs: macOS
timeoutInMinutes: 180
isTestingJob: true
steps:
- bash: ./build.sh --all --pack --ci --nobl --no-build-java
displayName: Build
# The templates part can be removed when the Blazor Templates run on Helix
- bash: ./src/ProjectTemplates/build.sh --ci --nobl --pack --no-restore --no-build-deps
displayName: Pack Templates (for Template tests)
- bash: ./build.sh --no-build --ci --nobl --test -p:RunTemplateTests=true -p:RunQuarantinedTests=true -p:SkipHelixReadyTests=true
displayName: Run Quarantined Tests
- task: PublishTestResults@2
displayName: Publish Quarantined Test Results
inputs:
testResultsFormat: 'xUnit'
testResultsFiles: '*.xml'
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)/Quarantined'
condition: always()
artifacts:
- name: MacOS_Quarantined_Test_Logs
path: artifacts/log/
publishOnError: true
includeForks: true
- name: MacOS_Quarantined_Test_Results
path: artifacts/TestResults/
publishOnError: true
includeForks: true
- template: jobs/default-build.yml
parameters:
jobName: Linux_Quarantined_Test
jobDisplayName: "Tests: Ubuntu 16.04 x64"
agentOs: Linux
timeoutInMinutes: 180
isTestingJob: true
useHostedUbuntu: false
steps:
- bash: ./build.sh --all --pack --ci --nobl --no-build-java
displayName: Build
# The templates part can be removed when the Blazor Templates run on Helix
- bash: ./src/ProjectTemplates/build.sh --ci --nobl --pack --no-restore --no-build-deps
displayName: Pack Templates (for Template tests)
- bash: ./build.sh --no-build --ci --nobl --test -p:RunTemplateTests=true -p:RunQuarantinedTests=true -p:SkipHelixReadyTests=true
displayName: Run Quarantined Tests
- task: PublishTestResults@2
displayName: Publish Quarantined Test Results
inputs:
testResultsFormat: 'xUnit'
testResultsFiles: '*.xml'
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)/Quarantined'
condition: always()
artifacts:
- name: Linux_Quarantined_Test_Logs
path: artifacts/log/
publishOnError: true
includeForks: true
- name: Linux_Quarantined_Test_Results
path: artifacts/TestResults/
publishOnError: true
includeForks: true