pr-gate-build-job.yml 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. ## @file
  2. # File templates/pr-gate-build-job.yml
  3. #
  4. # template file used to build supported packages.
  5. #
  6. # Copyright (c) Microsoft Corporation.
  7. # Copyright (c) 2020 - 2021, ARM Limited. All rights reserved.<BR>
  8. # SPDX-License-Identifier: BSD-2-Clause-Patent
  9. ##
  10. parameters:
  11. tool_chain_tag: ''
  12. vm_image: ''
  13. arch_list: ''
  14. # Build step
  15. jobs:
  16. - job: Build_${{ parameters.tool_chain_tag }}
  17. timeoutInMinutes: 120
  18. #Use matrix to speed up the build process
  19. strategy:
  20. matrix:
  21. ${{ if eq(parameters.tool_chain_tag, 'GCC5') }}:
  22. TARGET_GCC_ONLY:
  23. Build.Pkgs: 'EmbeddedPkg'
  24. Build.Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT'
  25. TARGET_ARM_ARMPLATFORM:
  26. Build.Pkgs: 'ArmPkg,ArmPlatformPkg'
  27. Build.Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT'
  28. TARGET_MDE_CPU:
  29. Build.Pkgs: 'MdePkg,UefiCpuPkg'
  30. Build.Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT'
  31. TARGET_MDEMODULE_DEBUG:
  32. Build.Pkgs: 'MdeModulePkg'
  33. Build.Targets: 'DEBUG,NOOPT'
  34. TARGET_MDEMODULE_RELEASE:
  35. Build.Pkgs: 'MdeModulePkg'
  36. Build.Targets: 'RELEASE,NO-TARGET'
  37. TARGET_NETWORK:
  38. Build.Pkgs: 'NetworkPkg,RedfishPkg'
  39. Build.Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT'
  40. TARGET_OTHER:
  41. Build.Pkgs: 'PcAtChipsetPkg,PrmPkg,ShellPkg,SourceLevelDebugPkg,StandaloneMmPkg,SignedCapsulePkg'
  42. Build.Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT'
  43. TARGET_FMP_FAT_TEST:
  44. Build.Pkgs: 'FmpDevicePkg,FatPkg,UnitTestFrameworkPkg,DynamicTablesPkg'
  45. Build.Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT'
  46. TARGET_CRYPTO:
  47. Build.Pkgs: 'CryptoPkg'
  48. Build.Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT'
  49. TARGET_FSP:
  50. Build.Pkgs: 'IntelFsp2Pkg,IntelFsp2WrapperPkg'
  51. Build.Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT'
  52. TARGET_SECURITY:
  53. Build.Pkgs: 'SecurityPkg'
  54. Build.Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT'
  55. TARGET_UEFIPAYLOAD:
  56. Build.Pkgs: 'UefiPayloadPkg'
  57. Build.Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT'
  58. TARGET_PLATFORMS:
  59. # For Platforms only check code. Leave it to Platform CI
  60. # to build them.
  61. Build.Pkgs: 'ArmVirtPkg,EmulatorPkg,OvmfPkg'
  62. Build.Targets: 'NO-TARGET,NOOPT'
  63. workspace:
  64. clean: all
  65. pool:
  66. vmImage: ${{ parameters.vm_image }}
  67. steps:
  68. - template: pr-gate-steps.yml
  69. parameters:
  70. tool_chain_tag: ${{ parameters.tool_chain_tag }}
  71. build_pkgs: $(Build.Pkgs)
  72. build_targets: $(Build.Targets)
  73. build_archs: ${{ parameters.arch_list }}