## @file
# File templates/pr-gate-build-job.yml
#
# template file used to build supported packages.
#
# Copyright (c) Microsoft Corporation.
# Copyright (c) 2020, ARM Limited. All rights reserved.<BR>
# SPDX-License-Identifier: BSD-2-Clause-Patent
##

parameters:
  tool_chain_tag: ''
  vm_image: ''
  arch_list: ''

# Build step
jobs:

- job: Build_${{ parameters.tool_chain_tag }}

  #Use matrix to speed up the build process
  strategy:
    matrix:
      TARGET_MDE_CPU:
        Build.Pkgs: 'MdePkg,UefiCpuPkg'
        Build.Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT'
      TARGET_MDEMODULE_DEBUG:
        Build.Pkgs: 'MdeModulePkg'
        Build.Targets: 'DEBUG,NOOPT'
      TARGET_MDEMODULE_RELEASE:
        Build.Pkgs: 'MdeModulePkg'
        Build.Targets: 'RELEASE,NO-TARGET'
      TARGET_NETWORK:
        Build.Pkgs: 'NetworkPkg,RedfishPkg'
        Build.Targets: 'DEBUG,RELEASE,NO-TARGET'
      TARGET_OTHER:
        Build.Pkgs: 'PcAtChipsetPkg,ShellPkg'
        Build.Targets: 'DEBUG,RELEASE,NO-TARGET'
      TARGET_FMP_FAT_TEST:
        Build.Pkgs: 'FmpDevicePkg,FatPkg,UnitTestFrameworkPkg,DynamicTablesPkg'
        Build.Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT'
      TARGET_CRYPTO:
        Build.Pkgs: 'CryptoPkg'
        Build.Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT'
      TARGET_SECURITY:
        Build.Pkgs: 'SecurityPkg'
        Build.Targets: 'DEBUG,RELEASE,NO-TARGET'
      TARGET_PLATFORMS:
        # For Platforms only check code. Leave it to Platform CI
        # to build them.
        Build.Pkgs: 'ArmVirtPkg,EmulatorPkg,OvmfPkg'
        Build.Targets: 'NO-TARGET'

  workspace:
    clean: all

  pool:
    vmImage: ${{ parameters.vm_image }}

  steps:
  - template: pr-gate-steps.yml
    parameters:
      tool_chain_tag: ${{ parameters.tool_chain_tag }}
      build_pkgs: $(Build.Pkgs)
      build_targets: $(Build.Targets)
      build_archs: ${{ parameters.arch_list }}

- job: FINISHED
  dependsOn: Build_${{ parameters.tool_chain_tag }}
  condition: succeeded()
  steps:
  - checkout: none
  - script: |
      echo FINISHED
      sleep 10
    displayName: FINISHED

- job: FAILED
  dependsOn: Build_${{ parameters.tool_chain_tag }}
  condition: failed()
  steps:
  - checkout: none
  - script: |
      echo FAILED
      sleep 10
    displayName: FAILED
