mirror of https://github.com/acidanthera/audk.git
146 lines
5.1 KiB
YAML
146 lines
5.1 KiB
YAML
## @file
|
|
# Azure Pipeline build file for building a platform.
|
|
#
|
|
# Platform: OVMF
|
|
# OS: Windows
|
|
# Toolchain: VS2019
|
|
#
|
|
# Copyright (c) Microsoft Corporation.
|
|
# 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: 'OvmfPkg'
|
|
vm_image: 'windows-2019'
|
|
should_run: true
|
|
run_flags: "MAKE_STARTUP_NSH=TRUE QEMU_HEADLESS=TRUE"
|
|
|
|
#Use matrix to speed up the build process
|
|
strategy:
|
|
matrix:
|
|
OVMF_IA32_DEBUG:
|
|
Build.File: "$(package)/PlatformCI/PlatformBuild.py"
|
|
Build.Arch: "IA32"
|
|
Build.Flags: ""
|
|
Build.Target: "DEBUG"
|
|
Run.Flags: $(run_flags)
|
|
Run: $(should_run)
|
|
OVMF_IA32_RELEASE:
|
|
Build.File: "$(package)/PlatformCI/PlatformBuild.py"
|
|
Build.Arch: "IA32"
|
|
Build.Flags: ""
|
|
Build.Target: "RELEASE"
|
|
Run.Flags: $(run_flags)
|
|
Run: $(should_run)
|
|
OVMF_IA32_NOOPT:
|
|
Build.File: "$(package)/PlatformCI/PlatformBuild.py"
|
|
Build.Arch: "IA32"
|
|
Build.Flags: ""
|
|
Build.Target: "NOOPT"
|
|
Run.Flags: $(run_flags)
|
|
Run: $(should_run)
|
|
|
|
OVMF_X64_DEBUG:
|
|
Build.File: "$(package)/PlatformCI/PlatformBuild.py"
|
|
Build.Arch: "X64"
|
|
Build.Flags: ""
|
|
Build.Target: "DEBUG"
|
|
Run.Flags: $(run_flags)
|
|
Run: $(should_run)
|
|
OVMF_X64_RELEASE:
|
|
Build.File: "$(package)/PlatformCI/PlatformBuild.py"
|
|
Build.Arch: "X64"
|
|
Build.Flags: ""
|
|
Build.Target: "RELEASE"
|
|
Run.Flags: $(run_flags)
|
|
Run: $(should_run)
|
|
OVMF_X64_NOOPT:
|
|
Build.File: "$(package)/PlatformCI/PlatformBuild.py"
|
|
Build.Arch: "X64"
|
|
Build.Flags: ""
|
|
Build.Target: "NOOPT"
|
|
Run.Flags: $(run_flags)
|
|
Run: $(should_run)
|
|
|
|
OVMF_IA32X64_DEBUG:
|
|
Build.File: "$(package)/PlatformCI/PlatformBuild.py"
|
|
Build.Arch: "IA32,X64"
|
|
Build.Flags: ""
|
|
Build.Target: "DEBUG"
|
|
Run.Flags: $(run_flags)
|
|
Run: $(should_run)
|
|
OVMF_IA32X64_RELEASE:
|
|
Build.File: "$(package)/PlatformCI/PlatformBuild.py"
|
|
Build.Arch: "IA32,X64"
|
|
Build.Flags: ""
|
|
Build.Target: "RELEASE"
|
|
Run.Flags: $(run_flags)
|
|
Run: $(should_run)
|
|
OVMF_IA32X64_NOOPT:
|
|
Build.File: "$(package)/PlatformCI/PlatformBuild.py"
|
|
Build.Arch: "IA32,X64"
|
|
Build.Flags: ""
|
|
Build.Target: "NOOPT"
|
|
Run.Flags: $(run_flags)
|
|
Run: $(should_run)
|
|
|
|
OVMF_IA32X64_FULL_DEBUG:
|
|
Build.File: "$(package)/PlatformCI/PlatformBuild.py"
|
|
Build.Arch: "IA32,X64"
|
|
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"
|
|
Build.Target: "DEBUG"
|
|
Run.Flags: $(run_flags)
|
|
Run: $(should_run)
|
|
OVMF_IA32X64_FULL_RELEASE:
|
|
Build.File: "$(package)/PlatformCI/PlatformBuild.py"
|
|
Build.Arch: "IA32,X64"
|
|
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"
|
|
Build.Target: "RELEASE"
|
|
Run.Flags: $(run_flags)
|
|
Run: $(should_run)
|
|
|
|
# This currently creates a very large image which is too big for the FDF declared range
|
|
# Ovmf maintainers suggest to skip this build for now.
|
|
#
|
|
# OVMF_IA32X64_FULL_NOOPT:
|
|
# Build.File: "$(package)/PlatformCI/PlatformBuild.py"
|
|
# Build.Arch: "IA32,X64"
|
|
# 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"
|
|
# 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 }}
|
|
extra_install_step:
|
|
- powershell: choco install qemu --version=2023.7.25; Write-Host "##vso[task.prependpath]c:\Program Files\qemu"
|
|
displayName: Install QEMU and Set QEMU on path # friendly name displayed in the UI
|
|
condition: and(gt(variables.pkg_count, 0), succeeded())
|
|
|