[PATCH v2 5/7] OvmfPkg/PlatformCI: add AmdSevBuild.py


Gerd Hoffmann
 

Add build test for OvmfPkg/AmdSev.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
.../.azurepipelines/Ubuntu-GCC5.yml | 10 +++++
OvmfPkg/PlatformCI/AmdSevBuild.py | 37 +++++++++++++++++++
2 files changed, 47 insertions(+)
create mode 100644 OvmfPkg/PlatformCI/AmdSevBuild.py

diff --git a/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml b/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
index cd7eaae54ec7..803bc8bbba6a 100644
--- a/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
+++ b/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
@@ -114,6 +114,16 @@ jobs:
Run.Flags: $(run_flags)
Run: $(should_run)

+ AMDSEV_X64_DEBUG:
+ Build.File: "$(package)/PlatformCI/AmdSevBuild.py"
+ Build.Arch: "X64"
+ Build.Flags: ""
+ Build.Target: "DEBUG"
+ # restricted + stripped down build
+ # can't boot to uefi shell -> skip test
+ Run.Flags: "QEMU_SKIP=TRUE"
+ Run: $(should_run)
+
BHYVE_X64_DEBUG:
Build.File: "$(package)/PlatformCI/BhyveBuild.py"
Build.Arch: "X64"
diff --git a/OvmfPkg/PlatformCI/AmdSevBuild.py b/OvmfPkg/PlatformCI/AmdSevBuild.py
new file mode 100644
index 000000000000..7348a86e05a1
--- /dev/null
+++ b/OvmfPkg/PlatformCI/AmdSevBuild.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.join(os.getcwd(), 'OvmfPkg', 'PlatformCI'))
+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 "AmdSev/AmdSevX64.dsc"
+
+import PlatformBuildLib
+PlatformBuildLib.CommonPlatform = CommonPlatform
--
2.31.1