Windows-VS2019.yml 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. ## @file
  2. # Azure Pipeline build file for building a platform.
  3. #
  4. # Platform: OVMF
  5. # OS: Windows
  6. # Toolchain: VS2019
  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. jobs:
  18. - job: Platform_CI
  19. variables:
  20. package: 'OvmfPkg'
  21. vm_image: 'windows-latest'
  22. should_run: true
  23. run_flags: "MAKE_STARTUP_NSH=TRUE QEMU_HEADLESS=TRUE"
  24. #Use matrix to speed up the build process
  25. strategy:
  26. matrix:
  27. OVMF_IA32_DEBUG:
  28. Build.File: "$(package)/PlatformCI/PlatformBuild.py"
  29. Build.Arch: "IA32"
  30. Build.Flags: ""
  31. Build.Target: "DEBUG"
  32. Run.Flags: $(run_flags)
  33. Run: $(should_run)
  34. OVMF_IA32_RELEASE:
  35. Build.File: "$(package)/PlatformCI/PlatformBuild.py"
  36. Build.Arch: "IA32"
  37. Build.Flags: ""
  38. Build.Target: "RELEASE"
  39. Run.Flags: $(run_flags)
  40. Run: $(should_run)
  41. OVMF_IA32_NOOPT:
  42. Build.File: "$(package)/PlatformCI/PlatformBuild.py"
  43. Build.Arch: "IA32"
  44. Build.Flags: ""
  45. Build.Target: "NOOPT"
  46. Run.Flags: $(run_flags)
  47. Run: $(should_run)
  48. OVMF_X64_DEBUG:
  49. Build.File: "$(package)/PlatformCI/PlatformBuild.py"
  50. Build.Arch: "X64"
  51. Build.Flags: ""
  52. Build.Target: "DEBUG"
  53. Run.Flags: $(run_flags)
  54. Run: $(should_run)
  55. OVMF_X64_RELEASE:
  56. Build.File: "$(package)/PlatformCI/PlatformBuild.py"
  57. Build.Arch: "X64"
  58. Build.Flags: ""
  59. Build.Target: "RELEASE"
  60. Run.Flags: $(run_flags)
  61. Run: $(should_run)
  62. OVMF_X64_NOOPT:
  63. Build.File: "$(package)/PlatformCI/PlatformBuild.py"
  64. Build.Arch: "X64"
  65. Build.Flags: ""
  66. Build.Target: "NOOPT"
  67. Run.Flags: $(run_flags)
  68. Run: $(should_run)
  69. OVMF_IA32X64_DEBUG:
  70. Build.File: "$(package)/PlatformCI/PlatformBuild.py"
  71. Build.Arch: "IA32,X64"
  72. Build.Flags: ""
  73. Build.Target: "DEBUG"
  74. Run.Flags: $(run_flags)
  75. Run: $(should_run)
  76. OVMF_IA32X64_RELEASE:
  77. Build.File: "$(package)/PlatformCI/PlatformBuild.py"
  78. Build.Arch: "IA32,X64"
  79. Build.Flags: ""
  80. Build.Target: "RELEASE"
  81. Run.Flags: $(run_flags)
  82. Run: $(should_run)
  83. OVMF_IA32X64_NOOPT:
  84. Build.File: "$(package)/PlatformCI/PlatformBuild.py"
  85. Build.Arch: "IA32,X64"
  86. Build.Flags: ""
  87. Build.Target: "NOOPT"
  88. Run.Flags: $(run_flags)
  89. Run: $(should_run)
  90. OVMF_IA32X64_FULL_DEBUG:
  91. Build.File: "$(package)/PlatformCI/PlatformBuild.py"
  92. Build.Arch: "IA32,X64"
  93. 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"
  94. Build.Target: "DEBUG"
  95. Run.Flags: $(run_flags)
  96. Run: $(should_run)
  97. OVMF_IA32X64_FULL_RELEASE:
  98. Build.File: "$(package)/PlatformCI/PlatformBuild.py"
  99. Build.Arch: "IA32,X64"
  100. 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"
  101. Build.Target: "RELEASE"
  102. Run.Flags: $(run_flags)
  103. Run: $(should_run)
  104. # This currently creates a very large image which is too big for the FDF declared range
  105. # Ovmf maintainers suggest to skip this build for now.
  106. #
  107. # OVMF_IA32X64_FULL_NOOPT:
  108. # Build.File: "$(package)/PlatformCI/PlatformBuild.py"
  109. # Build.Arch: "IA32,X64"
  110. # 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"
  111. # Build.Target: "NOOPT"
  112. # Run.Flags: $(run_flags)
  113. # Run: $(should_run)
  114. workspace:
  115. clean: all
  116. pool:
  117. vmImage: $(vm_image)
  118. steps:
  119. - template: ../../../.azurepipelines/templates/platform-build-run-steps.yml
  120. parameters:
  121. tool_chain_tag: VS2019
  122. build_pkg: $(package)
  123. build_target: $(Build.Target)
  124. build_arch: $(Build.Arch)
  125. build_file: $(Build.File)
  126. build_flags: $(Build.Flags)
  127. run_flags: $(Run.Flags)
  128. extra_install_step:
  129. - powershell: choco install qemu --version=2021.5.5; Write-Host "##vso[task.prependpath]c:\Program Files\qemu"
  130. displayName: Install QEMU and Set QEMU on path # friendly name displayed in the UI
  131. condition: and(gt(variables.pkg_count, 0), succeeded())