diff --git a/eng/ci/public-build.yml b/eng/ci/public-build.yml index d28201633..0dec405b5 100644 --- a/eng/ci/public-build.yml +++ b/eng/ci/public-build.yml @@ -70,7 +70,8 @@ extends: # Run tests - template: /eng/templates/test.yml@self parameters: - testAssembly: '**\bin\**\DurableTask.Core.Tests.dll' + testAssembly: 'tests/**/DurableTask.Core.Tests.dll' + artifactName: 'CoreTests' - stage: DTFxASValidate dependsOn: [] jobs: @@ -89,7 +90,8 @@ extends: # Run tests - template: /eng/templates/test.yml@self parameters: - testAssembly: '**\bin\**\DurableTask.AzureStorage.Tests.dll' + testAssembly: 'tests/**/DurableTask.AzureStorage.Tests.dll' + artifactName: 'AzureStorageTests' - stage: DTFxEmulatorValidate dependsOn: [] jobs: @@ -108,4 +110,5 @@ extends: # Run tests - template: /eng/templates/test.yml@self parameters: - testAssembly: '**\bin\**\DurableTask.Emulator.Tests.dll' + testAssembly: 'tests/**/DurableTask.Emulator.Tests.dll' + artifactName: 'EmulatorTests' diff --git a/eng/templates/build-steps.yml b/eng/templates/build-steps.yml index 6cd1468d7..746a1dba7 100644 --- a/eng/templates/build-steps.yml +++ b/eng/templates/build-steps.yml @@ -88,6 +88,12 @@ steps: configuration: ${{ parameters.buildConfiguration }} msbuildArgs: /p:FileVersionRevision=$(Build.BuildId) /p:ContinuousIntegrationBuild=true + - task: 1ES.PublishPipelineArtifact@1 + displayName: 'Publish Core Tests Artifact' + inputs: + path: $(Build.SourcesDirectory)/Test/DurableTask.Core.Tests/bin/${{ parameters.buildConfiguration }} + artifact: CoreTests + - task: VSBuild@1 displayName: 'Build (AzureStorage Tests)' inputs: @@ -96,6 +102,12 @@ steps: logFileVerbosity: minimal configuration: ${{ parameters.buildConfiguration }} msbuildArgs: /p:FileVersionRevision=$(Build.BuildId) /p:ContinuousIntegrationBuild=true + + - task: 1ES.PublishPipelineArtifact@1 + displayName: 'Publish AzureStorage Tests Artifact' + inputs: + path: $(Build.SourcesDirectory)/Test/DurableTask.AzureStorage.Tests/bin/${{ parameters.buildConfiguration }} + artifact: AzureStorageTests - task: VSBuild@1 displayName: 'Build (Emulator Tests)' @@ -104,4 +116,10 @@ steps: vsVersion: '17.0' logFileVerbosity: minimal configuration: ${{ parameters.buildConfiguration }} - msbuildArgs: /p:FileVersionRevision=$(Build.BuildId) /p:ContinuousIntegrationBuild=true \ No newline at end of file + msbuildArgs: /p:FileVersionRevision=$(Build.BuildId) /p:ContinuousIntegrationBuild=true + + - task: 1ES.PublishPipelineArtifact@1 + displayName: 'Publish Emulator Tests Artifact' + inputs: + path: $(Build.SourcesDirectory)/Test/DurableTask.Emulator.Tests/bin/${{ parameters.buildConfiguration }} + artifact: EmulatorTests \ No newline at end of file diff --git a/eng/templates/test.yml b/eng/templates/test.yml index 59de51f90..eed9f610f 100644 --- a/eng/templates/test.yml +++ b/eng/templates/test.yml @@ -2,9 +2,22 @@ parameters: - name: testAssembly type: string default: '' - +- name: artifactName + type: string + default: '' steps: + - task: DownloadPipelineArtifact@2 + displayName: 'Download Tests Artifact' + inputs: + artifactName: '${{ parameters.artifactName }}' + targetPath: '$(System.DefaultWorkingDirectory)/tests' + + - bash: | + echo "Listing downloaded test DLLs:" + find "$(System.DefaultWorkingDirectory)/tests" -name '*Test*.dll' + displayName: 'List Test DLLs' + # Install Azurite - bash: | echo "Installing azurite" @@ -20,7 +33,8 @@ steps: - task: VSTest@2 displayName: 'Run tests' inputs: - testAssemblyVer2: ${{ parameters.testAssembly }} + testAssemblyVer2: | + $(System.DefaultWorkingDirectory)/${{ parameters.testAssembly }} testFiltercriteria: 'TestCategory!=DisabledInCI' vsTestVersion: 17.0 distributionBatchType: basedOnExecutionTime @@ -30,4 +44,5 @@ steps: collectDumpOn: always rerunFailedTests: true rerunFailedThreshold: 30 - rerunMaxAttempts: 3 \ No newline at end of file + rerunMaxAttempts: 3 + runInParallel: true \ No newline at end of file