2 # Azure Pipeline build file for building a platform.
8 # Copyright (c) Microsoft Corporation.
9 # SPDX-License-Identifier: BSD-2-Clause-Patent
19 - template: ../../../.azurepipelines/templates/defaults.yml
25 vm_image: 'ubuntu-18.04'
27 run_flags: "MAKE_STARTUP_NSH=TRUE QEMU_HEADLESS=TRUE"
29 #Use matrix to speed up the build process
33 Build.File: "$(package)/PlatformCI/PlatformBuild.py"
37 Run.Flags: $(run_flags)
40 Build.File: "$(package)/PlatformCI/PlatformBuild.py"
43 Build.Target: "RELEASE"
44 Run.Flags: $(run_flags)
47 Build.File: "$(package)/PlatformCI/PlatformBuild.py"
51 Run.Flags: $(run_flags)
55 Build.File: "$(package)/PlatformCI/PlatformBuild.py"
59 Run.Flags: $(run_flags)
62 Build.File: "$(package)/PlatformCI/PlatformBuild.py"
65 Build.Target: "RELEASE"
66 Run.Flags: $(run_flags)
69 Build.File: "$(package)/PlatformCI/PlatformBuild.py"
73 Run.Flags: $(run_flags)
77 Build.File: "$(package)/PlatformCI/PlatformBuild.py"
78 Build.Arch: "IA32,X64"
81 Run.Flags: $(run_flags)
84 Build.File: "$(package)/PlatformCI/PlatformBuild.py"
85 Build.Arch: "IA32,X64"
87 Build.Target: "RELEASE"
88 Run.Flags: $(run_flags)
91 Build.File: "$(package)/PlatformCI/PlatformBuild.py"
92 Build.Arch: "IA32,X64"
95 Run.Flags: $(run_flags)
98 OVMF_IA32X64_FULL_DEBUG:
99 Build.File: "$(package)/PlatformCI/PlatformBuild.py"
100 Build.Arch: "IA32,X64"
101 Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=1 BLD_*_SMM_REQUIRE=1 BLD_*_TPM2_ENABLE=1 BLD_*_NETWORK_TLS_ENABLE=1 BLD_*_NETWORK_IP6_ENABLE=1 BLD_*_NETWORK_HTTP_BOOT_ENABLE=1"
102 Build.Target: "DEBUG"
103 Run.Flags: $(run_flags)
105 OVMF_IA32X64_FULL_RELEASE:
106 Build.File: "$(package)/PlatformCI/PlatformBuild.py"
107 Build.Arch: "IA32,X64"
108 Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=1 BLD_*_SMM_REQUIRE=1 BLD_*_TPM2_ENABLE=1 BLD_*_NETWORK_TLS_ENABLE=1 BLD_*_NETWORK_IP6_ENABLE=1 BLD_*_NETWORK_HTTP_BOOT_ENABLE=1"
109 Build.Target: "RELEASE"
110 Run.Flags: $(run_flags)
112 OVMF_IA32X64_FULL_NOOPT:
113 Build.File: "$(package)/PlatformCI/PlatformBuild.py"
114 Build.Arch: "IA32,X64"
115 Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=1 BLD_*_SMM_REQUIRE=1 BLD_*_TPM2_ENABLE=1 BLD_*_NETWORK_TLS_ENABLE=1 BLD_*_NETWORK_IP6_ENABLE=1 BLD_*_NETWORK_HTTP_BOOT_ENABLE=1"
116 Build.Target: "NOOPT"
117 Run.Flags: $(run_flags)
121 Build.File: "$(package)/PlatformCI/AmdSevBuild.py"
124 Build.Target: "DEBUG"
125 # restricted + stripped down build
126 # can't boot to uefi shell -> skip test
127 Run.Flags: "QEMU_SKIP=TRUE"
131 Build.File: "$(package)/PlatformCI/BhyveBuild.py"
134 Build.Target: "DEBUG"
135 # this build is for freebsd bhyve not qemu-kvm
136 Run.Flags: "QEMU_SKIP=TRUE"
140 Build.File: "$(package)/PlatformCI/CloudHvBuild.py"
143 Build.Target: "DEBUG"
144 # this build is for cloud-hypervisor not qemu-kvm
145 Run.Flags: "QEMU_SKIP=TRUE"
149 Build.File: "$(package)/PlatformCI/MicrovmBuild.py"
152 Build.Target: "DEBUG"
153 # no storage supported by microvm build
154 # can't boot to uefi shell -> skip test
155 Run.Flags: "QEMU_SKIP=TRUE"
159 Build.File: "$(package)/PlatformCI/XenBuild.py"
162 Build.Target: "DEBUG"
163 # this build is for xen not qemu-kvm
164 Run.Flags: "QEMU_SKIP=TRUE"
168 Build.File: "$(package)/PlatformCI/IntelTdxBuild.py"
171 Build.Target: "DEBUG"
172 # no storage supported by microvm build
173 # can't boot to uefi shell -> skip test
174 Run.Flags: "QEMU_SKIP=TRUE"
184 - template: ../../../.azurepipelines/templates/platform-build-run-steps.yml
187 build_pkg: $(package)
188 build_target: $(Build.Target)
189 build_arch: $(Build.Arch)
190 build_file: $(Build.File)
191 build_flags: $(Build.Flags)
192 run_flags: $(Run.Flags)
193 usePythonVersion: ${{ variables.default_python_version }}
195 - bash: sudo apt-get install qemu
196 displayName: Install qemu
197 condition: and(gt(variables.pkg_count, 0), succeeded())