Ubuntu-GCC5.yml 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. ## @file
  2. # Azure Pipeline build file for building a platform.
  3. #
  4. # Platform: ArmVirtQemu
  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: 'ArmVirtPkg'
  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. QEMU_AARCH64_DEBUG:
  30. Build.File: "$(package)/PlatformCI/QemuBuild.py"
  31. Build.Arch: "AARCH64"
  32. Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=1 BLD_*_TPM2_ENABLE=1 BLD_*_NETWORK_TLS_ENABLE=1 BLD_*_NETWORK_IP6_ENABLE=1 BLD_*_NETWORK_HTTP_BOOT_ENABLE=1"
  33. Build.Target: "DEBUG"
  34. Run.Flags: $(run_flags)
  35. Run: $(should_run)
  36. QEMU_AARCH64_RELEASE:
  37. Build.File: "$(package)/PlatformCI/QemuBuild.py"
  38. Build.Arch: "AARCH64"
  39. Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=1 BLD_*_TPM2_ENABLE=1 BLD_*_NETWORK_TLS_ENABLE=1 BLD_*_NETWORK_IP6_ENABLE=1 BLD_*_NETWORK_HTTP_BOOT_ENABLE=1"
  40. Build.Target: "RELEASE"
  41. Run.Flags: $(run_flags)
  42. Run: $(should_run)
  43. QEMU_AARCH64_NOOPT:
  44. Build.File: "$(package)/PlatformCI/QemuBuild.py"
  45. Build.Arch: "AARCH64"
  46. Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=1 BLD_*_TPM2_ENABLE=1 BLD_*_NETWORK_TLS_ENABLE=1 BLD_*_NETWORK_IP6_ENABLE=1 BLD_*_NETWORK_HTTP_BOOT_ENABLE=1"
  47. Build.Target: "NOOPT"
  48. Run.Flags: $(run_flags)
  49. Run: $(should_run)
  50. QEMU_ARM_DEBUG:
  51. Build.File: "$(package)/PlatformCI/QemuBuild.py"
  52. Build.Arch: "ARM"
  53. Build.Flags: ""
  54. Build.Target: "DEBUG"
  55. Run.Flags: $(run_flags)
  56. Run: $(should_run)
  57. QEMU_ARM_RELEASE:
  58. Build.File: "$(package)/PlatformCI/QemuBuild.py"
  59. Build.Arch: "ARM"
  60. Build.Flags: ""
  61. Build.Target: "RELEASE"
  62. Run.Flags: $(run_flags)
  63. Run: $(should_run)
  64. QEMU_ARM_NOOPT:
  65. Build.File: "$(package)/PlatformCI/QemuBuild.py"
  66. Build.Arch: "ARM"
  67. Build.Flags: ""
  68. Build.Target: "NOOPT"
  69. Run.Flags: $(run_flags)
  70. Run: $(should_run)
  71. QEMU_KERNEL_AARCH64_DEBUG:
  72. Build.File: "$(package)/PlatformCI/QemuKernelBuild.py"
  73. Build.Arch: "AARCH64"
  74. Build.Flags: ""
  75. Build.Target: "DEBUG"
  76. Run.Flags: $(run_flags)
  77. Run: $(should_run)
  78. QEMU_KERNEL_AARCH64_RELEASE:
  79. Build.File: "$(package)/PlatformCI/QemuKernelBuild.py"
  80. Build.Arch: "AARCH64"
  81. Build.Flags: ""
  82. Build.Target: "RELEASE"
  83. Run.Flags: $(run_flags)
  84. Run: $(should_run)
  85. QEMU_KERNEL_AARCH64_NOOPT:
  86. Build.File: "$(package)/PlatformCI/QemuKernelBuild.py"
  87. Build.Arch: "AARCH64"
  88. Build.Flags: ""
  89. Build.Target: "NOOPT"
  90. Run.Flags: $(run_flags)
  91. Run: $(should_run)
  92. QEMU_KERNEL_ARM_DEBUG:
  93. Build.File: "$(package)/PlatformCI/QemuKernelBuild.py"
  94. Build.Arch: "ARM"
  95. Build.Flags: ""
  96. Build.Target: "DEBUG"
  97. Run.Flags: $(run_flags)
  98. Run: $(should_run)
  99. QEMU_KERNEL_ARM_RELEASE:
  100. Build.File: "$(package)/PlatformCI/QemuKernelBuild.py"
  101. Build.Arch: "ARM"
  102. Build.Flags: ""
  103. Build.Target: "RELEASE"
  104. Run.Flags: $(run_flags)
  105. Run: $(should_run)
  106. QEMU_KERNEL_ARM_NOOPT:
  107. Build.File: "$(package)/PlatformCI/QemuKernelBuild.py"
  108. Build.Arch: "ARM"
  109. Build.Flags: ""
  110. Build.Target: "NOOPT"
  111. Run.Flags: $(run_flags)
  112. Run: $(should_run)
  113. KVMTOOL_AARCH64_DEBUG:
  114. Build.File: "$(package)/PlatformCI/KvmToolBuild.py"
  115. Build.Arch: "AARCH64"
  116. Build.Flags: ""
  117. Build.Target: "DEBUG"
  118. Run: false
  119. KVMTOOL_AARCH64_RELEASE:
  120. Build.File: "$(package)/PlatformCI/KvmToolBuild.py"
  121. Build.Arch: "AARCH64"
  122. Build.Flags: ""
  123. Build.Target: "RELEASE"
  124. Run: false
  125. KVMTOOL_ARM_DEBUG:
  126. Build.File: "$(package)/PlatformCI/KvmToolBuild.py"
  127. Build.Arch: "ARM"
  128. Build.Flags: ""
  129. Build.Target: "DEBUG"
  130. Run: false
  131. KVMTOOL_ARM_RELEASE:
  132. Build.File: "$(package)/PlatformCI/KvmToolBuild.py"
  133. Build.Arch: "ARM"
  134. Build.Flags: ""
  135. Build.Target: "RELEASE"
  136. Run: false
  137. workspace:
  138. clean: all
  139. pool:
  140. vmImage: $(vm_image)
  141. container: ${{ variables.default_linux_image }}
  142. steps:
  143. - template: ../../../.azurepipelines/templates/platform-build-run-steps.yml
  144. parameters:
  145. tool_chain_tag: GCC5
  146. build_pkg: $(package)
  147. build_target: $(Build.Target)
  148. build_arch: $(Build.Arch)
  149. build_file: $(Build.File)
  150. build_flags: $(Build.Flags)
  151. run_flags: $(Run.Flags)
  152. usePythonVersion: '' # use Python from the container image