Ubuntu-GCC5.yml 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. ## @file
  2. # Azure Pipeline build file for building a platform.
  3. #
  4. # Platform: OVMF
  5. # OS: Ubuntu
  6. # Toolchain: GCC5
  7. #
  8. # Copyright (c) Microsoft Corporation.
  9. # SPDX-License-Identifier: BSD-2-Clause-Patent
  10. ##
  11. trigger:
  12. - master
  13. - stable/*
  14. pr:
  15. - master
  16. - stable/*
  17. variables:
  18. - template: ../../../.azurepipelines/templates/defaults.yml
  19. jobs:
  20. - job: Platform_CI
  21. variables:
  22. package: 'OvmfPkg'
  23. vm_image: 'ubuntu-22.04'
  24. should_run: true
  25. run_flags: "MAKE_STARTUP_NSH=TRUE QEMU_HEADLESS=TRUE"
  26. #Use matrix to speed up the build process
  27. strategy:
  28. matrix:
  29. OVMF_IA32_DEBUG:
  30. Build.File: "$(package)/PlatformCI/PlatformBuild.py"
  31. Build.Arch: "IA32"
  32. Build.Flags: ""
  33. Build.Target: "DEBUG"
  34. Run.Flags: $(run_flags)
  35. Run: $(should_run)
  36. OVMF_IA32_RELEASE:
  37. Build.File: "$(package)/PlatformCI/PlatformBuild.py"
  38. Build.Arch: "IA32"
  39. Build.Flags: ""
  40. Build.Target: "RELEASE"
  41. Run.Flags: $(run_flags)
  42. Run: $(should_run)
  43. OVMF_IA32_NOOPT:
  44. Build.File: "$(package)/PlatformCI/PlatformBuild.py"
  45. Build.Arch: "IA32"
  46. Build.Flags: ""
  47. Build.Target: "NOOPT"
  48. Run.Flags: $(run_flags)
  49. Run: $(should_run)
  50. OVMF_X64_DEBUG:
  51. Build.File: "$(package)/PlatformCI/PlatformBuild.py"
  52. Build.Arch: "X64"
  53. Build.Flags: ""
  54. Build.Target: "DEBUG"
  55. Run.Flags: $(run_flags)
  56. Run: $(should_run)
  57. OVMF_X64_RELEASE:
  58. Build.File: "$(package)/PlatformCI/PlatformBuild.py"
  59. Build.Arch: "X64"
  60. Build.Flags: ""
  61. Build.Target: "RELEASE"
  62. Run.Flags: $(run_flags)
  63. Run: $(should_run)
  64. OVMF_X64_NOOPT:
  65. Build.File: "$(package)/PlatformCI/PlatformBuild.py"
  66. Build.Arch: "X64"
  67. Build.Flags: ""
  68. Build.Target: "NOOPT"
  69. Run.Flags: $(run_flags)
  70. Run: $(should_run)
  71. OVMF_IA32X64_DEBUG:
  72. Build.File: "$(package)/PlatformCI/PlatformBuild.py"
  73. Build.Arch: "IA32,X64"
  74. Build.Flags: ""
  75. Build.Target: "DEBUG"
  76. Run.Flags: $(run_flags)
  77. Run: $(should_run)
  78. OVMF_IA32X64_RELEASE:
  79. Build.File: "$(package)/PlatformCI/PlatformBuild.py"
  80. Build.Arch: "IA32,X64"
  81. Build.Flags: ""
  82. Build.Target: "RELEASE"
  83. Run.Flags: $(run_flags)
  84. Run: $(should_run)
  85. OVMF_IA32X64_NOOPT:
  86. Build.File: "$(package)/PlatformCI/PlatformBuild.py"
  87. Build.Arch: "IA32,X64"
  88. Build.Flags: ""
  89. Build.Target: "NOOPT"
  90. Run.Flags: $(run_flags)
  91. Run: $(should_run)
  92. OVMF_IA32X64_FULL_DEBUG:
  93. Build.File: "$(package)/PlatformCI/PlatformBuild.py"
  94. Build.Arch: "IA32,X64"
  95. 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"
  96. Build.Target: "DEBUG"
  97. Run.Flags: $(run_flags)
  98. Run: $(should_run)
  99. OVMF_IA32X64_FULL_RELEASE:
  100. Build.File: "$(package)/PlatformCI/PlatformBuild.py"
  101. Build.Arch: "IA32,X64"
  102. 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"
  103. Build.Target: "RELEASE"
  104. Run.Flags: $(run_flags)
  105. Run: $(should_run)
  106. OVMF_IA32X64_FULL_NOOPT:
  107. Build.File: "$(package)/PlatformCI/PlatformBuild.py"
  108. Build.Arch: "IA32,X64"
  109. 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"
  110. Build.Target: "NOOPT"
  111. Run.Flags: $(run_flags)
  112. Run: $(should_run)
  113. AMDSEV_X64_DEBUG:
  114. Build.File: "$(package)/PlatformCI/AmdSevBuild.py"
  115. Build.Arch: "X64"
  116. Build.Flags: ""
  117. Build.Target: "DEBUG"
  118. # restricted + stripped down build
  119. # can't boot to uefi shell -> skip test
  120. Run.Flags: "QEMU_SKIP=TRUE"
  121. Run: $(should_run)
  122. BHYVE_X64_DEBUG:
  123. Build.File: "$(package)/PlatformCI/BhyveBuild.py"
  124. Build.Arch: "X64"
  125. Build.Flags: ""
  126. Build.Target: "DEBUG"
  127. # this build is for freebsd bhyve not qemu-kvm
  128. Run.Flags: "QEMU_SKIP=TRUE"
  129. Run: $(should_run)
  130. CLOUDHV_X64_DEBUG:
  131. Build.File: "$(package)/PlatformCI/CloudHvBuild.py"
  132. Build.Arch: "X64"
  133. Build.Flags: ""
  134. Build.Target: "DEBUG"
  135. # this build is for cloud-hypervisor not qemu-kvm
  136. Run.Flags: "QEMU_SKIP=TRUE"
  137. Run: $(should_run)
  138. MICROVM_X64_DEBUG:
  139. Build.File: "$(package)/PlatformCI/MicrovmBuild.py"
  140. Build.Arch: "X64"
  141. Build.Flags: ""
  142. Build.Target: "DEBUG"
  143. # no storage supported by microvm build
  144. # can't boot to uefi shell -> skip test
  145. Run.Flags: "QEMU_SKIP=TRUE"
  146. Run: $(should_run)
  147. OVMF_XEN_X64_DEBUG:
  148. Build.File: "$(package)/PlatformCI/XenBuild.py"
  149. Build.Arch: "X64"
  150. Build.Flags: ""
  151. Build.Target: "DEBUG"
  152. # this build is for xen not qemu-kvm
  153. Run.Flags: "QEMU_SKIP=TRUE"
  154. Run: $(should_run)
  155. INTELTDX_X64_DEBUG:
  156. Build.File: "$(package)/PlatformCI/IntelTdxBuild.py"
  157. Build.Arch: "X64"
  158. Build.Flags: ""
  159. Build.Target: "DEBUG"
  160. # no storage supported by microvm build
  161. # can't boot to uefi shell -> skip test
  162. Run.Flags: "QEMU_SKIP=TRUE"
  163. Run: $(should_run)
  164. workspace:
  165. clean: all
  166. pool:
  167. vmImage: $(vm_image)
  168. container: ${{ variables.default_linux_image }}
  169. steps:
  170. - template: ../../../.azurepipelines/templates/platform-build-run-steps.yml
  171. parameters:
  172. tool_chain_tag: GCC5
  173. build_pkg: $(package)
  174. build_target: $(Build.Target)
  175. build_arch: $(Build.Arch)
  176. build_file: $(Build.File)
  177. build_flags: $(Build.Flags)
  178. run_flags: $(Run.Flags)
  179. usePythonVersion: '' # use Python from the container image