]>
Commit | Line | Data |
---|---|---|
106c7a99 SB |
1 | ## @file\r |
2 | # File templates/pr-gate-build-job.yml\r | |
3 | #\r | |
4 | # template file used to build supported packages.\r | |
5 | #\r | |
6 | # Copyright (c) Microsoft Corporation.\r | |
d4a3490a | 7 | # Copyright (c) 2020 - 2021, ARM Limited. All rights reserved.<BR>\r |
106c7a99 SB |
8 | # SPDX-License-Identifier: BSD-2-Clause-Patent\r |
9 | ##\r | |
10 | \r | |
11 | parameters:\r | |
12 | tool_chain_tag: ''\r | |
13 | vm_image: ''\r | |
14 | arch_list: ''\r | |
89c5d900 | 15 | extra_install_step: []\r |
35795517 | 16 | usePythonVersion: ''\r |
106c7a99 SB |
17 | \r |
18 | # Build step\r | |
19 | jobs:\r | |
20 | \r | |
21 | - job: Build_${{ parameters.tool_chain_tag }}\r | |
76a1ce4d | 22 | timeoutInMinutes: 120\r |
106c7a99 SB |
23 | #Use matrix to speed up the build process\r |
24 | strategy:\r | |
25 | matrix:\r | |
12973359 MK |
26 | ${{ if eq(parameters.tool_chain_tag, 'GCC5') }}:\r |
27 | TARGET_GCC_ONLY:\r | |
28 | Build.Pkgs: 'EmbeddedPkg'\r | |
29 | Build.Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT'\r | |
01c0ab90 PG |
30 | TARGET_ARM_ARMPLATFORM:\r |
31 | Build.Pkgs: 'ArmPkg,ArmPlatformPkg'\r | |
7c4f05dc | 32 | Build.Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT'\r |
106c7a99 SB |
33 | TARGET_MDE_CPU:\r |
34 | Build.Pkgs: 'MdePkg,UefiCpuPkg'\r | |
e5b911d4 | 35 | Build.Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT'\r |
106c7a99 SB |
36 | TARGET_MDEMODULE_DEBUG:\r |
37 | Build.Pkgs: 'MdeModulePkg'\r | |
e5b911d4 | 38 | Build.Targets: 'DEBUG,NOOPT'\r |
106c7a99 SB |
39 | TARGET_MDEMODULE_RELEASE:\r |
40 | Build.Pkgs: 'MdeModulePkg'\r | |
41 | Build.Targets: 'RELEASE,NO-TARGET'\r | |
42 | TARGET_NETWORK:\r | |
19c87b7d | 43 | Build.Pkgs: 'NetworkPkg,RedfishPkg'\r |
ee582858 | 44 | Build.Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT'\r |
106c7a99 | 45 | TARGET_OTHER:\r |
710f83b7 | 46 | Build.Pkgs: 'PcAtChipsetPkg,PrmPkg,ShellPkg,SourceLevelDebugPkg,StandaloneMmPkg,SignedCapsulePkg'\r |
ee582858 | 47 | Build.Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT'\r |
e5b911d4 | 48 | TARGET_FMP_FAT_TEST:\r |
5a6d764e | 49 | Build.Pkgs: 'FmpDevicePkg,FatPkg,UnitTestFrameworkPkg,DynamicTablesPkg'\r |
e5b911d4 | 50 | Build.Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT'\r |
106c7a99 SB |
51 | TARGET_CRYPTO:\r |
52 | Build.Pkgs: 'CryptoPkg'\r | |
73e3cb6c | 53 | Build.Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT'\r |
769879e2 MK |
54 | TARGET_FSP:\r |
55 | Build.Pkgs: 'IntelFsp2Pkg,IntelFsp2WrapperPkg'\r | |
56 | Build.Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT'\r | |
106c7a99 SB |
57 | TARGET_SECURITY:\r |
58 | Build.Pkgs: 'SecurityPkg'\r | |
ee582858 | 59 | Build.Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT'\r |
e3ee8c8d | 60 | TARGET_UEFIPAYLOAD:\r |
61 | Build.Pkgs: 'UefiPayloadPkg'\r | |
ee582858 | 62 | Build.Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT'\r |
099dfbb2 SB |
63 | TARGET_PLATFORMS:\r |
64 | # For Platforms only check code. Leave it to Platform CI\r | |
65 | # to build them.\r | |
66 | Build.Pkgs: 'ArmVirtPkg,EmulatorPkg,OvmfPkg'\r | |
ee582858 | 67 | Build.Targets: 'NO-TARGET,NOOPT'\r |
106c7a99 SB |
68 | \r |
69 | workspace:\r | |
70 | clean: all\r | |
71 | \r | |
72 | pool:\r | |
73 | vmImage: ${{ parameters.vm_image }}\r | |
74 | \r | |
75 | steps:\r | |
76 | - template: pr-gate-steps.yml\r | |
77 | parameters:\r | |
78 | tool_chain_tag: ${{ parameters.tool_chain_tag }}\r | |
79 | build_pkgs: $(Build.Pkgs)\r | |
80 | build_targets: $(Build.Targets)\r | |
81 | build_archs: ${{ parameters.arch_list }}\r | |
35795517 | 82 | usePythonVersion: ${{ parameters.usePythonVersion }}\r |
89c5d900 GG |
83 | extra_install_step: ${{ parameters.extra_install_step }}\r |
84 | \r | |
85 | - job: Build_${{ parameters.tool_chain_tag }}_TARGET_CODE_COVERAGE\r | |
86 | dependsOn: Build_${{ parameters.tool_chain_tag }}\r | |
87 | workspace:\r | |
88 | clean: all\r | |
89 | \r | |
90 | pool:\r | |
91 | vmImage: 'windows-2019'\r | |
92 | \r | |
93 | steps:\r | |
94 | - checkout: self\r | |
95 | clean: true\r | |
96 | fetchDepth: 1\r | |
97 | submodules: true\r | |
98 | \r | |
99 | - task: DownloadPipelineArtifact@2\r | |
100 | displayName: 'Download Build Artifacts'\r | |
101 | inputs:\r | |
102 | buildType: 'current'\r | |
103 | targetPath: '$(Build.ArtifactStagingDirectory)'\r | |
104 | \r | |
8c235780 GG |
105 | - powershell: Write-Host "##vso[task.setvariable variable=is_code_coverage]0"\r |
106 | displayName: Give default value for whether CodeCoverage or not\r | |
107 | \r | |
108 | - powershell: if (Test-Path -Path $(Build.ArtifactStagingDirectory)/**/coverage.xml) {Write-Host "##vso[task.setvariable variable=is_code_coverage]1"}\r | |
109 | displayName: Check coverage.xml exist or not\r | |
110 | \r | |
89c5d900 GG |
111 | - task: CmdLine@2\r |
112 | displayName: Create code coverage report\r | |
113 | inputs:\r | |
114 | script: |\r | |
115 | dotnet tool install -g dotnet-reportgenerator-globaltool\r | |
116 | reportgenerator -reports:$(Build.ArtifactStagingDirectory)/**/coverage.xml -targetdir:$(Build.ArtifactStagingDirectory)/Coverage -reporttypes:Cobertura -filefilters:-*Build*;-*UnitTest*;-*Mock*;-*usr*\r | |
8c235780 | 117 | condition: eq(variables.is_code_coverage, 1)\r |
89c5d900 GG |
118 | \r |
119 | - task: PublishCodeCoverageResults@1\r | |
120 | displayName: 'Publish code coverage'\r | |
121 | inputs:\r | |
122 | codeCoverageTool: Cobertura\r | |
123 | summaryFileLocation: '$(Build.ArtifactStagingDirectory)/Coverage/Cobertura.xml'\r | |
8c235780 | 124 | condition: eq(variables.is_code_coverage, 1)\r |
89c5d900 | 125 | \r |