]> git.proxmox.com Git - mirror_edk2.git/blobdiff - .azurepipelines/templates/pr-gate-build-job.yml
.azurepipelines: Install code coverage tool
[mirror_edk2.git] / .azurepipelines / templates / pr-gate-build-job.yml
index 7f88b41dc8d3e2147431ed6b04d5d1e0ae4f0fb3..840852b606746ad894cc7edb73303868efd33dcb 100644 (file)
@@ -12,6 +12,7 @@ parameters:
   tool_chain_tag: ''\r
   vm_image: ''\r
   arch_list: ''\r
+  extra_install_step: []\r
 \r
 # Build step\r
 jobs:\r
@@ -77,3 +78,38 @@ jobs:
       build_pkgs: $(Build.Pkgs)\r
       build_targets: $(Build.Targets)\r
       build_archs: ${{ parameters.arch_list }}\r
+      extra_install_step: ${{ parameters.extra_install_step }}\r
+\r
+- job: Build_${{ parameters.tool_chain_tag }}_TARGET_CODE_COVERAGE\r
+  dependsOn: Build_${{ parameters.tool_chain_tag }}\r
+  workspace:\r
+    clean: all\r
+\r
+  pool:\r
+    vmImage: 'windows-2019'\r
+\r
+  steps:\r
+    - checkout: self\r
+      clean: true\r
+      fetchDepth: 1\r
+      submodules: true\r
+\r
+    - task: DownloadPipelineArtifact@2\r
+      displayName: 'Download Build Artifacts'\r
+      inputs:\r
+        buildType: 'current'\r
+        targetPath: '$(Build.ArtifactStagingDirectory)'\r
+\r
+    - task: CmdLine@2\r
+      displayName: Create code coverage report\r
+      inputs:\r
+        script: |\r
+          dotnet tool install -g dotnet-reportgenerator-globaltool\r
+          reportgenerator -reports:$(Build.ArtifactStagingDirectory)/**/coverage.xml -targetdir:$(Build.ArtifactStagingDirectory)/Coverage -reporttypes:Cobertura -filefilters:-*Build*;-*UnitTest*;-*Mock*;-*usr*\r
+\r
+    - task: PublishCodeCoverageResults@1\r
+      displayName: 'Publish code coverage'\r
+      inputs:\r
+        codeCoverageTool: Cobertura\r
+        summaryFileLocation: '$(Build.ArtifactStagingDirectory)/Coverage/Cobertura.xml'\r
+\r