-
Notifications
You must be signed in to change notification settings - Fork 44
Expand file tree
/
Copy pathazure-pipelines.sonar.yml
More file actions
75 lines (72 loc) · 2.48 KB
/
azure-pipelines.sonar.yml
File metadata and controls
75 lines (72 loc) · 2.48 KB
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
name: sonar.$(date:yyyyMMdd)$(rev:.r)
pool:
vmImage: 'ubuntu-latest'
variables:
buildConfiguration: 'Release'
steps:
# Install .NET SDK
- task: UseDotNet@2
inputs:
packageType: 'sdk'
version: '10.0.x'
displayName: 'Install SDK 10.0.x'
# Build, test and analyze
- task: SonarCloudPrepare@3
inputs:
SonarCloud: 'Silverback SonarCloud'
organization: 'silverback'
scannerMode: 'dotnet'
projectKey: 'silverback'
projectName: 'silverback'
projectVersion: '5.0.0'
extraProperties: |
sonar.exclusions=**/obj/**,**/*.dll,docs/**
sonar.cs.opencover.reportsPaths=$(Build.SourcesDirectory)/**/coverage.*.opencover.xml
sonar.cs.vstest.reportsPaths=$(Agent.TempDirectory)/*.trx
displayName: 'Prepare code analysis on SonarCloud'
- script: |
dotnet build Silverback.sln --configuration $(buildConfiguration)
displayName: 'Build ($(buildConfiguration))'
- script: |
dotnet test Silverback.sln \
--configuration $(buildConfiguration) \
--no-build \
--verbosity Normal \
--logger trx \
--filter "Type!=E2E&Dependency!=Docker&CI!=Skip" \
--collect "Code coverage" \
-p:CollectCoverage=true \
-p:CoverletOutputFormat=opencover%2ccobertura \
-p:Exclude="[xunit.*]*%2c[Silverback.Tests.*]*"
displayName: 'Run unit tests'
- script: |
dotnet test Silverback.sln \
--configuration $(buildConfiguration) \
--no-build \
--verbosity Normal \
--logger trx \
--filter "Type=E2E&Dependency!=Docker&CI!=Skip" \
--collect "Code coverage" \
-p:CollectCoverage=true \
-p:CoverletOutputFormat=opencover%2ccobertura \
-p:Exclude="[xunit.*]*%2c[Silverback.Tests.*]*"
displayName: 'Run E2E tests'
- task: SonarCloudAnalyze@3
condition: succeededOrFailed()
displayName: 'Run SonarCloud analysis'
- task: SonarCloudPublish@3
condition: succeededOrFailed()
displayName: 'Publish SonarCloud quality gate result'
# Publish results
- task: PublishTestResults@2
condition: succeededOrFailed()
inputs:
testRunner: 'VSTest'
testResultsFiles: '**/*.trx'
displayName: 'Publish test results'
- task: PublishCodeCoverageResults@2
condition: succeededOrFailed()
inputs:
summaryFileLocation: '$(System.DefaultWorkingDirectory)/**/coverage.*.cobertura.xml'
codecoverageTool: 'Cobertura'
displayName: 'Publish code coverage results'