# We want to run quarantined tests on master as well as on PRs trigger: batch: true branches: include: - master - release/5.0 pr: autoCancel: true branches: include: - master - release/5.0 schedules: - cron: "0 */4 * * *" displayName: Every 4 hours test run branches: include: - master always: true variables: - ${{ if ne(variables['System.TeamProject'], 'internal') }}: - name: _UseHelixOpenQueues value: 'true' - ${{ if eq(variables['System.TeamProject'], 'internal') }}: - group: DotNet-HelixApi-Access - name: _UseHelixOpenQueues value: 'false' jobs: - template: jobs/default-build.yml parameters: jobName: Helix_quarantined_x64 jobDisplayName: 'Tests: Helix' agentOs: Windows timeoutInMinutes: 120 steps: # Build the shared framework - script: ./build.cmd -ci -nobl -all -pack -arch x64 /p:CrossgenOutput=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log displayName: Build shared fx - script: ./build.cmd -ci -nobl -noBuildRepoTasks -restore -noBuild -noBuildNative -projects src/Grpc/**/*.csproj /p:CrossgenOutput=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log displayName: Restore interop projects - 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:CrossgenOutput=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log displayName: Run build.cmd helix target continueOnError: true 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: 90 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 -NoBuildNative -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 continueOnError: true - 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: 120 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 continueOnError: true - 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 18.04 x64" agentOs: Linux timeoutInMinutes: 60 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 continueOnError: true - 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