## @file
# Azure Pipeline build file for building a platform.
#
# Platform: EMULATORPKG
# OS: Windows
# Toolchain: VS2019
#
# Copyright (c) Microsoft Corporation.
# Copyright (c) 2020, Intel Corporation. All rights reserved.
# SPDX-License-Identifier: BSD-2-Clause-Patent
##
trigger:
  - master
  - stable/*
pr:
  - master
  - stable/*

variables:
  - template: ../../../.azurepipelines/templates/defaults.yml

jobs:
  - job: Platform_CI
    variables:
      package: 'EmulatorPkg'
      vm_image: 'windows-2019'
      should_run: true
      run_flags: "MAKE_STARTUP_NSH=TRUE"

    #Use matrix to speed up the build process
    strategy:
        matrix:
          EmulatorPkg_X64_DEBUG:
            Build.File: "$(package)/PlatformCI/PlatformBuild.py"
            Build.Arch: "X64"
            Build.Flags: ""
            Build.Target: "DEBUG"
            Run.Flags: $(run_flags)
            Run: $(should_run)
          EmulatorPkg_X64_RELEASE:
            Build.File: "$(package)/PlatformCI/PlatformBuild.py"
            Build.Arch: "X64"
            Build.Flags: ""
            Build.Target: "RELEASE"
            Run.Flags: $(run_flags)
            Run: $(should_run)
          EmulatorPkg_X64_NOOPT:
            Build.File: "$(package)/PlatformCI/PlatformBuild.py"
            Build.Arch: "X64"
            Build.Flags: ""
            Build.Target: "NOOPT"
            Run.Flags: $(run_flags)
            Run: $(should_run)
          EmulatorPkg_IA32_DEBUG:
            Build.File: "$(package)/PlatformCI/PlatformBuild.py"
            Build.Arch: "IA32 "
            Build.Flags: ""
            Build.Target: "DEBUG"
            Run.Flags: $(run_flags)
            Run: $(should_run)
          EmulatorPkg_IA32_RELEASE:
            Build.File: "$(package)/PlatformCI/PlatformBuild.py"
            Build.Arch: "IA32 "
            Build.Flags: ""
            Build.Target: "RELEASE"
            Run.Flags: $(run_flags)
            Run: $(should_run)
          EmulatorPkg_IA32_NOOPT:
            Build.File: "$(package)/PlatformCI/PlatformBuild.py"
            Build.Arch: "IA32 "
            Build.Flags: ""
            Build.Target: "NOOPT"
            Run.Flags: $(run_flags)
            Run: $(should_run)
          EmulatorPkg_X64_FULL_DEBUG:
            Build.File: "$(package)/PlatformCI/PlatformBuild.py"
            Build.Arch: "X64"
            Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=TRUE"
            Build.Target: "DEBUG"
            Run.Flags: $(run_flags)
            Run: $(should_run)
          EmulatorPkg_X64_FULL_RELEASE:
            Build.File: "$(package)/PlatformCI/PlatformBuild.py"
            Build.Arch: "X64"
            Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=TRUE"
            Build.Target: "RELEASE"
            Run.Flags: $(run_flags)
            Run: $(should_run)
          EmulatorPkg_X64_FULL_NOOPT:
            Build.File: "$(package)/PlatformCI/PlatformBuild.py"
            Build.Arch: "X64"
            Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=TRUE"
            Build.Target: "NOOPT"
            Run.Flags: $(run_flags)
            Run: $(should_run)
          EmulatorPkg_IA32_FULL_DEBUG:
            Build.File: "$(package)/PlatformCI/PlatformBuild.py"
            Build.Arch: "IA32"
            Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=TRUE"
            Build.Target: "DEBUG"
            Run.Flags: $(run_flags)
            Run: $(should_run)
          EmulatorPkg_IA32_FULL_RELEASE:
            Build.File: "$(package)/PlatformCI/PlatformBuild.py"
            Build.Arch: "IA32"
            Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=TRUE"
            Build.Target: "RELEASE"
            Run.Flags: $(run_flags)
            Run: $(should_run)
          EmulatorPkg_IA32_FULL_NOOPT:
            Build.File: "$(package)/PlatformCI/PlatformBuild.py"
            Build.Arch: "IA32"
            Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=TRUE"
            Build.Target: "NOOPT"
            Run.Flags: $(run_flags)
            Run: $(should_run)

    workspace:
      clean: all

    pool:
      vmImage: $(vm_image)

    steps:
    - template: ../../../.azurepipelines/templates/platform-build-run-steps.yml
      parameters:
        tool_chain_tag: VS2019
        build_pkg: $(package)
        build_target: $(Build.Target)
        build_arch: $(Build.Arch)
        build_file: $(Build.File)
        build_flags: $(Build.Flags)
        run_flags: $(Run.Flags)
        usePythonVersion: ${{ variables.default_python_version }}
