2 # Azure Pipeline build file for building a platform.
8 # Copyright (c) Microsoft Corporation.
9 # SPDX-License-Identifier: BSD-2-Clause-Patent
22 vm_image: 'ubuntu-18.04'
24 run_flags: "MAKE_STARTUP_NSH=TRUE QEMU_HEADLESS=TRUE"
26 #Use matrix to speed up the build process
30 Build.File: "$(package)/PlatformCI/PlatformBuild.py"
34 Run.Flags: $(run_flags)
37 Build.File: "$(package)/PlatformCI/PlatformBuild.py"
40 Build.Target: "RELEASE"
41 Run.Flags: $(run_flags)
44 Build.File: "$(package)/PlatformCI/PlatformBuild.py"
48 Run.Flags: $(run_flags)
52 Build.File: "$(package)/PlatformCI/PlatformBuild.py"
56 Run.Flags: $(run_flags)
59 Build.File: "$(package)/PlatformCI/PlatformBuild.py"
62 Build.Target: "RELEASE"
63 Run.Flags: $(run_flags)
66 Build.File: "$(package)/PlatformCI/PlatformBuild.py"
70 Run.Flags: $(run_flags)
74 Build.File: "$(package)/PlatformCI/PlatformBuild.py"
75 Build.Arch: "IA32,X64"
78 Run.Flags: $(run_flags)
81 Build.File: "$(package)/PlatformCI/PlatformBuild.py"
82 Build.Arch: "IA32,X64"
84 Build.Target: "RELEASE"
85 Run.Flags: $(run_flags)
88 Build.File: "$(package)/PlatformCI/PlatformBuild.py"
89 Build.Arch: "IA32,X64"
92 Run.Flags: $(run_flags)
95 OVMF_IA32X64_FULL_DEBUG:
96 Build.File: "$(package)/PlatformCI/PlatformBuild.py"
97 Build.Arch: "IA32,X64"
98 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"
100 Run.Flags: $(run_flags)
102 OVMF_IA32X64_FULL_RELEASE:
103 Build.File: "$(package)/PlatformCI/PlatformBuild.py"
104 Build.Arch: "IA32,X64"
105 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"
106 Build.Target: "RELEASE"
107 Run.Flags: $(run_flags)
109 OVMF_IA32X64_FULL_NOOPT:
110 Build.File: "$(package)/PlatformCI/PlatformBuild.py"
111 Build.Arch: "IA32,X64"
112 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"
113 Build.Target: "NOOPT"
114 Run.Flags: $(run_flags)
118 Build.File: "$(package)/PlatformCI/AmdSevBuild.py"
121 Build.Target: "DEBUG"
122 # restricted + stripped down build
123 # can't boot to uefi shell -> skip test
124 Run.Flags: "QEMU_SKIP=TRUE"
128 Build.File: "$(package)/PlatformCI/BhyveBuild.py"
131 Build.Target: "DEBUG"
132 # this build is for freebsd bhyve not qemu-kvm
133 Run.Flags: "QEMU_SKIP=TRUE"
137 Build.File: "$(package)/PlatformCI/MicrovmBuild.py"
140 Build.Target: "DEBUG"
141 # no storage supported by microvm build
142 # can't boot to uefi shell -> skip test
143 Run.Flags: "QEMU_SKIP=TRUE"
147 Build.File: "$(package)/PlatformCI/XenBuild.py"
150 Build.Target: "DEBUG"
151 # this build is for xen not qemu-kvm
152 Run.Flags: "QEMU_SKIP=TRUE"
161 - template: ../../../.azurepipelines/templates/platform-build-run-steps.yml
164 build_pkg: $(package)
165 build_target: $(Build.Target)
166 build_arch: $(Build.Arch)
167 build_file: $(Build.File)
168 build_flags: $(Build.Flags)
169 run_flags: $(Run.Flags)
171 - bash: sudo apt-get install qemu
172 displayName: Install qemu
173 condition: and(gt(variables.pkg_count, 0), succeeded())