-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathazure-ci.yml
76 lines (65 loc) · 2.06 KB
/
azure-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# ASP.NET Core
# Build and test ASP.NET Core projects targeting .NET Core.
# Add steps that run tests, create a NuGet package, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/dotnet-core
trigger:
branches:
include:
- master
pool:
vmImage: 'ubuntu-latest'
variables:
buildConfiguration: 'Release'
steps:
- task: UseDotNet@2
displayName: 'Use .NET8 sdk'
inputs:
packageType: sdk
version: 8.x
installationPath: $(Agent.ToolsDirectory)/dotnet
- task: DotNetCoreCLI@2
inputs:
command: build
projects: Source/**/*.csproj
arguments: -c $(buildConfiguration) /p:patchVersion=$(Build.BuildId) /p:versionSuffix=$(versionSuffix)
workingDirectory: /
displayName: 'Build'
- task: DotNetCoreCLI@2
inputs:
command: test
projects: Tests/**/*.csproj
arguments: --configuration $(buildConfiguration) /p:CollectCoverage=true /p:CoverletOutputFormat=cobertura
workingDirectory: /
nobuild: true
displayName: Run Unit Tests
- script: |
dotnet tool install -g dotnet-reportgenerator-globaltool
reportgenerator -reports:Tests/**/coverage.cobertura.xml -targetdir:$(Build.SourcesDirectory)/CodeCoverage -reporttypes:Cobertura
displayName: Create reports
- task: PublishCodeCoverageResults@1
displayName: 'Publish code coverage'
inputs:
codeCoverageTool: Cobertura
summaryFileLocation: '$(Build.SourcesDirectory)/CodeCoverage/Cobertura.xml'
- task: BuildQualityChecks@8
displayName: Check Build Warnings
inputs:
checkWarnings: true
warningFailOption: 'fixed'
warningThreshold: '0'
warningTaskFilters: '/^Build$/i'
warningFilters: '/\s([1-9]\d*\.?[0]*)\s+Warning\(s\)|\s([1-9]\d*\.?[0]*)\s+Error\(s\)/'
- task: BuildQualityChecks@8
displayName: Check Line Coverage
inputs:
checkCoverage: true
coverageFailOption: 'fixed'
coverageType: 'lines'
coverageThreshold: '70'
- task: BuildQualityChecks@8
displayName: Check Branch Coverage
inputs:
checkCoverage: true
coverageFailOption: 'fixed'
coverageType: 'branches'
coverageThreshold: '70'