Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 24 additions & 9 deletions azure-pipelines-PR.yml
Original file line number Diff line number Diff line change
Expand Up @@ -269,7 +269,10 @@ stages:
inputs:
testResultsFormat: 'XUnit'
testRunTitle: WindowsNoRealsig_testCoreclr
mergeTestResults: true
# See eng/templates/batched-test-steps.yml: merging disjoint per-assembly XUnit
# files produces tens of thousands of "No matching test case result" warnings and
# can abort the publish, dropping results. Publish each file as its own run.
mergeTestResults: false
testResultsFiles: '*.xml'
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/Release'
condition: succeededOrFailed()
Expand Down Expand Up @@ -375,7 +378,10 @@ stages:
inputs:
testResultsFormat: 'XUnit'
testRunTitle: WindowsCompressedMetadata $(_testKind) $(transparentCompiler)
mergeTestResults: true
# See eng/templates/batched-test-steps.yml: publish each assembly file as its own
# run to avoid the merge-time "No matching test case result" warning flood and the
# "TestCaseTitle must be specified" abort that silently drops results.
mergeTestResults: false
testResultsFiles: '*.xml'
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_configuration)'
continueOnError: true
Expand Down Expand Up @@ -465,8 +471,14 @@ stages:
- pwsh: .\eng\MockBuild.ps1
displayName: Build with OfficialBuildId

# Linux
# Linux (split into 2 batches to limit test-process memory; batch 3 is desktop-only)
- job: Linux
strategy:
matrix:
Batch1:
batchNumber: 1
Batch2:
batchNumber: 2
pool:
name: $(DncEngPublicBuildPool)
demands: ImageOverride -equals $(LinuxMachineQueueName)
Expand All @@ -477,30 +489,33 @@ stages:
steps:
- checkout: self
clean: true
- script: ./eng/cibuild.sh --configuration $(_BuildConfig) --testcoreclr --mt true
- script: ./eng/cibuild.sh --configuration $(_BuildConfig) --testcoreclrbatch $(batchNumber) --mt true
displayName: Build / Test
- script: ./eng/common/dotnet.sh fsi tests/EndToEndBuildTests/MultithreadedTasks/run.fsx -- --configuration $(_BuildConfig) --repetitions 3
displayName: Real SDK MP / MT integration
- task: PublishPipelineArtifact@1
condition: always()
inputs:
targetPath: '$(Build.SourcesDirectory)/artifacts/MultithreadedTasks'
artifact: Linux SDK MT evidence
artifact: Linux Batch$(batchNumber) SDK MT evidence
- task: PublishTestResults@2
displayName: Publish Test Results
inputs:
testResultsFormat: 'XUnit'
testRunTitle: Linux
testRunTitle: Linux Batch$(batchNumber)
testResultsFiles: '*.xml'
mergeTestResults: true
# See eng/templates/batched-test-steps.yml: publish each assembly file as its own
# run to avoid the merge-time "No matching test case result" warning flood and the
# "TestCaseTitle must be specified" abort that silently drops results.
mergeTestResults: false
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)'
continueOnError: true
condition: succeededOrFailed()
- task: PublishBuildArtifacts@1
displayName: Publish Test Logs
inputs:
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)'
ArtifactName: 'Linux $(_BuildConfig) test logs'
ArtifactName: 'Linux $(_BuildConfig) Batch$(batchNumber) test logs'
publishLocation: Container
continueOnError: true
condition: failed()
Expand All @@ -511,7 +526,7 @@ stages:
displayName: Publish NuGet cache contents
inputs:
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/NugetPackageRootContents'
ArtifactName: 'NuGetPackageContents Linux'
ArtifactName: 'NuGetPackageContents Linux Batch$(batchNumber)'
publishLocation: Container
continueOnError: true
condition: failed()
Expand Down
7 changes: 6 additions & 1 deletion eng/templates/batched-test-steps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,12 @@ steps:
inputs:
testResultsFormat: 'XUnit'
testRunTitle: ${{ parameters.testRunTitlePrefix }} Batch$(batchNumber)
mergeTestResults: true
# Publish each assembly's result file as its own run. Merging disjoint per-assembly
# XUnit files into one run makes the ADO publisher emit a "No matching test case result
# found on server" warning for every test in every file after the first (tens of thousands
# of warnings per build), and can abort with "TestCaseTitle must be specified", silently
# dropping a whole assembly's results.
mergeTestResults: false

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This still drops assembly results in build 1605407's Linux Batch1 run: the publisher sends 117 results to run 44355152, then tries to publish the 6,175 component results to that same run and aborts with TestCaseTitle must be specified…. Setting mergeTestResults: false hasn't isolated the runs here. We need to verify that each XML actually produces a separate, complete run before calling this fixed.

testResultsFiles: '*.xml'
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/${{ parameters.configuration }}'
continueOnError: true
Expand Down
Loading