Skip to content

Commit 4eca0c2

Browse files
authored
ci: only check for code coverage at merge, not release (#3791)
ci: only check for code coverage
1 parent 0cc9bb9 commit 4eca0c2

File tree

1 file changed

+50
-46
lines changed

1 file changed

+50
-46
lines changed

.pipelines/templates/run-unit-tests.yaml

Lines changed: 50 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)