@@ -25,7 +25,7 @@ stages:
2525 } 3>&1;
2626 } | { read xs; exit $xs; }
2727 } 4>&1
28-
28+
2929 # combine coverage from multiple modules
3030 (echo "mode: atomic"; tail -q -n +2 coverage-*.out) > coverage.cover
3131 mv coverage.cover linux-coverage.out
@@ -62,53 +62,57 @@ stages:
6262 targetPath : ' windows-coverage.out'
6363 artifactName : ' windows-coverage'
6464
65- - stage : code_coverage
66- displayName : Code Coverage Check
67- dependsOn :
68- - test
69- jobs :
70- - job : coverage
71- displayName : Check Coverage
72- pool :
73- name : " $(BUILD_POOL_NAME_DEFAULT)"
74- steps :
75- - task : DownloadPipelineArtifact@2
76- inputs :
77- artifact : ' linux-coverage'
78- path : ' ./'
79- - bash : |
80- # use go work to include multiple modules or gocov will omit results from those modules
81- make workspace
65+ # Looking for PRs from merge queue
66+ # Expected output refs/heads/gh-readonly-queue/master/pr-3780-f0a96a1
67+ - ${{ if contains(variables['Build.SourceBranch'], 'master/pr') }} :
68+ - stage : code_coverage
69+ displayName : Code Coverage Check
70+ dependsOn :
71+ - test
72+ jobs :
73+ - job : coverage
74+ displayName : Check Coverage
75+ pool :
76+ name : " $(BUILD_POOL_NAME_DEFAULT)"
77+ steps :
78+ - task : DownloadPipelineArtifact@2
79+ inputs :
80+ artifact : ' linux-coverage'
81+ path : ' ./'
82+ - bash : |
83+ # use go work to include multiple modules or gocov will omit results from those modules
84+ make workspace
8285
83- make tools
84- sudo ln -s $(pwd)/build/tools/bin/gocov /usr/local/bin/gocov
85- sudo ln -s $(pwd)/build/tools/bin/gocov-xml /usr/local/bin/gocov-xml
86+ make tools
87+ sudo ln -s $(pwd)/build/tools/bin/gocov /usr/local/bin/gocov
88+ sudo ln -s $(pwd)/build/tools/bin/gocov-xml /usr/local/bin/gocov-xml
8689
87- GOOS=linux gocov convert linux-coverage.out > linux-coverage.json
88- GOOS=linux gocov-xml < linux-coverage.json > linux-coverage.xml
90+ GOOS=linux gocov convert linux-coverage.out > linux-coverage.json
91+ GOOS=linux gocov-xml < linux-coverage.json > linux-coverage.xml
8992
90- # TODO: Add windows coverage back in once PublishCodeCoverageResults v2 works with BuildQualityChecks
93+ # TODO: Add windows coverage back in once PublishCodeCoverageResults v2 works with BuildQualityChecks
9194
92- mkdir coverage
95+ mkdir coverage
9396
94- mv linux-coverage.xml coverage/
95- name: "Coverage"
96- displayName: "Generate Coverage Report"
97- condition: always()
98- - task : PublishCodeCoverageResults@1
99- displayName : " Publish Code Coverage Report"
100- condition : always()
101- inputs :
102- codeCoverageTool : ' Cobertura'
103- summaryFileLocation : coverage/linux-coverage.xml
104- - task : BuildQualityChecks@8
105- displayName : " Check Code Coverage Regression"
106- condition : always()
107- inputs :
108- checkCoverage : true
109- coverageFailOption : " build"
110- coverageType : " lines"
111- fallbackOnPRTargetBranch : false
112- baseBranchRef : " master"
113- allowCoverageVariance : true
114- coverageVariance : 0.25
97+ mv linux-coverage.xml coverage/
98+ name: "Coverage"
99+ displayName: "Generate Coverage Report"
100+ condition: always()
101+
102+ - task : PublishCodeCoverageResults@1
103+ displayName : " Publish Code Coverage Report"
104+ condition : always()
105+ inputs :
106+ codeCoverageTool : ' Cobertura'
107+ summaryFileLocation : coverage/linux-coverage.xml
108+ - task : BuildQualityChecks@8
109+ displayName : " Check Code Coverage Regression"
110+ condition : always()
111+ inputs :
112+ checkCoverage : true
113+ coverageFailOption : " build"
114+ coverageType : " lines"
115+ fallbackOnPRTargetBranch : false
116+ baseBranchRef : " master"
117+ allowCoverageVariance : true
118+ coverageVariance : 0.25
0 commit comments