From 04eacd39439d55bb1a5cbd366c19b1c03d5c7846 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Mon, 13 Dec 2021 09:14:40 +0100 Subject: [PATCH] OvmfPkg/PlatformCI: add MicrovmBuild.py Add build test for OvmfPkg/Microvm. Signed-off-by: Gerd Hoffmann Acked-by: Jiewen Yao Acked-by: Ard Biesheuvel Reviewed-by: Philippe Mathieu-Daude --- .../.azurepipelines/Ubuntu-GCC5.yml | 10 +++++ OvmfPkg/PlatformCI/MicrovmBuild.py | 37 +++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 OvmfPkg/PlatformCI/MicrovmBuild.py diff --git a/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml b/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml index cc37a2be8f..cd7eaae54e 100644 --- a/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml +++ b/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml @@ -122,6 +122,16 @@ jobs: # this build is for freebsd bhyve not qemu-kvm Run.Flags: "QEMU_SKIP=TRUE" Run: $(should_run) + + MICROVM_X64_DEBUG: + Build.File: "$(package)/PlatformCI/MicrovmBuild.py" + Build.Arch: "X64" + Build.Flags: "" + Build.Target: "DEBUG" + # no storage supported by microvm build + # can't boot to uefi shell -> skip test + Run.Flags: "QEMU_SKIP=TRUE" + Run: $(should_run) workspace: clean: all diff --git a/OvmfPkg/PlatformCI/MicrovmBuild.py b/OvmfPkg/PlatformCI/MicrovmBuild.py new file mode 100644 index 0000000000..7ad1149696 --- /dev/null +++ b/OvmfPkg/PlatformCI/MicrovmBuild.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 "Microvm/MicrovmX64.dsc" + +import PlatformBuildLib +PlatformBuildLib.CommonPlatform = CommonPlatform