From 1203eba58ecfcddf9a9ae164ccf32ca29037af82 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Mon, 13 Dec 2021 09:14:43 +0100 Subject: [PATCH] OvmfPkg/PlatformCI: add XenBuild.py Add build test for OvmfXen. Signed-off-by: Gerd Hoffmann --- .../.azurepipelines/Ubuntu-GCC5.yml | 9 +++++ OvmfPkg/PlatformCI/XenBuild.py | 37 +++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 OvmfPkg/PlatformCI/XenBuild.py diff --git a/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml b/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml index 803bc8bbba..2de0688cfe 100644 --- a/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml +++ b/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml @@ -142,6 +142,15 @@ jobs: # can't boot to uefi shell -> skip test Run.Flags: "QEMU_SKIP=TRUE" Run: $(should_run) + + OVMF_XEN_X64_DEBUG: + Build.File: "$(package)/PlatformCI/XenBuild.py" + Build.Arch: "X64" + Build.Flags: "" + Build.Target: "DEBUG" + # this build is for xen not qemu-kvm + Run.Flags: "QEMU_SKIP=TRUE" + Run: $(should_run) workspace: clean: all diff --git a/OvmfPkg/PlatformCI/XenBuild.py b/OvmfPkg/PlatformCI/XenBuild.py new file mode 100644 index 0000000000..25a70a177d --- /dev/null +++ b/OvmfPkg/PlatformCI/XenBuild.py @@ -0,0 +1,37 @@ +# @file +# Script to Build OVMF UEFI firmware +# +# Copyright (c) Microsoft Corporation. +# SPDX-License-Identifier: BSD-2-Clause-Patent +## +import os +import sys + +sys.path.append(os.path.dirname(os.path.abspath(__file__))) +from PlatformBuildLib import SettingsManager +from PlatformBuildLib import PlatformBuilder + + # ####################################################################################### # + # Common Configuration # + # ####################################################################################### # +class CommonPlatform(): + ''' Common settings for this platform. Define static data here and use + for the different parts of stuart + ''' + PackagesSupported = ("OvmfPkg",) + ArchSupported = ("X64",) + TargetsSupported = ("DEBUG", "RELEASE", "NOOPT") + Scopes = ('ovmf', 'edk2-build') + WorkspaceRoot = os.path.realpath(os.path.join( + os.path.dirname(os.path.abspath(__file__)), "..", "..")) + + @classmethod + def GetDscName(cls, ArchCsv: str) -> str: + ''' return the DSC given the architectures requested. + + ArchCsv: csv string containing all architectures to build + ''' + return "OvmfXen.dsc" + +import PlatformBuildLib +PlatformBuildLib.CommonPlatform = CommonPlatform