Browse Source

OvmfPkg/PlatformCI: add XenBuild.py

Add build test for OvmfXen.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Gerd Hoffmann 2 years ago
parent
commit
1203eba58e
2 changed files with 46 additions and 0 deletions
  1. 9 0
      OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
  2. 37 0
      OvmfPkg/PlatformCI/XenBuild.py

+ 9 - 0
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
 

+ 37 - 0
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