You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
2.5 KiB
69 lines
2.5 KiB
5 years ago
|
parameters:
|
||
|
- name: ImageNames
|
||
|
type: object
|
||
|
default:
|
||
|
Linux: "ubuntu-latest"
|
||
|
Windows: "windows-latest"
|
||
|
macOS: "macos-latest"
|
||
|
- name: TestProjects
|
||
|
type: string
|
||
|
default: "tests/**/*Tests.csproj"
|
||
|
- name: DotNetSdkVersion
|
||
|
type: string
|
||
|
default: 3.1.100
|
||
|
|
||
|
jobs:
|
||
|
- job: MainTest
|
||
|
displayName: Main Test
|
||
|
strategy:
|
||
|
matrix:
|
||
|
${{ each imageName in parameters.ImageNames }}:
|
||
|
${{ imageName.key }}:
|
||
|
ImageName: ${{ imageName.value }}
|
||
|
maxParallel: 3
|
||
|
pool:
|
||
|
vmImage: "$(ImageName)"
|
||
|
steps:
|
||
|
- checkout: self
|
||
|
clean: true
|
||
|
submodules: true
|
||
|
persistCredentials: false
|
||
|
|
||
|
- task: UseDotNet@2
|
||
|
displayName: "Update DotNet"
|
||
|
inputs:
|
||
|
packageType: sdk
|
||
|
version: ${{ parameters.DotNetSdkVersion }}
|
||
|
|
||
|
- task: DotNetCoreCLI@2
|
||
|
displayName: Run .NET Core CLI tests
|
||
|
inputs:
|
||
|
command: "test"
|
||
|
projects: ${{ parameters.TestProjects }}
|
||
|
arguments: "--configuration Release --collect:\"XPlat Code Coverage\" --settings tests/coverletArgs.runsettings --verbosity minimal \"-p:GenerateDocumentationFile=False\""
|
||
|
publishTestResults: true
|
||
|
testRunTitle: $(Agent.JobName)
|
||
|
workingDirectory: "$(Build.SourcesDirectory)"
|
||
|
|
||
|
|
||
|
- task: Palmmedia.reportgenerator.reportgenerator-build-release-task.reportgenerator@4
|
||
|
condition: and(succeeded(), eq(variables['Agent.OS'], 'Linux')) # !! THIS is for V1 only V2 will/should support merging
|
||
|
displayName: ReportGenerator (merge)
|
||
|
inputs:
|
||
|
reports: '$(Agent.TempDirectory)/**/coverage.cobertura.xml'
|
||
|
targetdir: '$(Agent.TempDirectory)/merged/'
|
||
|
reporttypes: 'Cobertura'
|
||
|
|
||
|
## V2 is already in the repository but it does not work "wrong number of segments" YAML error.
|
||
|
- task: PublishCodeCoverageResults@1
|
||
|
condition: and(succeeded(), eq(variables['Agent.OS'], 'Linux')) # !! THIS is for V1 only V2 will/should support merging
|
||
|
displayName: Publish Code Coverage
|
||
|
inputs:
|
||
|
codeCoverageTool: 'cobertura'
|
||
|
#summaryFileLocation: '$(Agent.TempDirectory)/**/coverage.cobertura.xml' # !!THIS IS FOR V2
|
||
|
summaryFileLocation: '$(Agent.TempDirectory)/merged/**.xml'
|
||
|
pathToSources: $(Build.SourcesDirectory) # Optional
|
||
|
#reportDirectory: # Optional
|
||
|
#additionalCodeCoverageFiles: # Optional
|
||
|
failIfCoverageEmpty: true # Optional
|