[edk2-devel] [Patch v3 12/22] MdePkg: Add YAML file for CI builds

Michael D Kinney michael.d.kinney at intel.com
Tue Nov 5 17:04:56 UTC 2019


Hi Liming,

There are two types of YAML files in this patch series.

1) Azure Piplelines .yml files.

	https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=azure-devops&tabs=schema

2) EDK II Package .yaml files.  These specify the set of pytool extensions to 
   use to make sure an EDK II package passes all the required checks.  The
   contents of these files are JSON format and the syntax for each extension 
   is defined by each pytool plugin.  JSON is considered a subset of YAML.

https://github.com/tianocore/edk2-staging/tree/edk2-ci/.pytool
https://github.com/tianocore/edk2-staging/tree/edk2-ci/.pytool/Plugin/CharEncodingCheck
https://github.com/tianocore/edk2-staging/tree/edk2-ci/.pytool/Plugin/CompilerPlugin
https://github.com/tianocore/edk2-staging/tree/edk2-ci/.pytool/Plugin/DependencyCheck
https://github.com/tianocore/edk2-staging/tree/edk2-ci/.pytool/Plugin/DscCompleteCheck
https://github.com/tianocore/edk2-staging/tree/edk2-ci/.pytool/Plugin/GuidCheck
https://github.com/tianocore/edk2-staging/tree/edk2-ci/.pytool/Plugin/LibraryClassCheck
https://github.com/tianocore/edk2-staging/tree/edk2-ci/.pytool/Plugin/SpellCheck

Please let us know if the plugin documentation including the YAML syntax is not clear.

Best regards,

Mike

> -----Original Message-----
> From: Gao, Liming <liming.gao at intel.com>
> Sent: Tuesday, November 5, 2019 12:22 AM
> To: Kinney, Michael D <michael.d.kinney at intel.com>;
> devel at edk2.groups.io
> Subject: RE: [Patch v3 12/22] MdePkg: Add YAML file for
> CI builds
> 
> Mike:
>    Is there some basic introduction for YAML file
> syntax?
> 
> Thanks
> Liming
> >-----Original Message-----
> >From: Kinney, Michael D
> >Sent: Wednesday, October 30, 2019 3:55 AM
> >To: devel at edk2.groups.io
> >Cc: Gao, Liming <liming.gao at intel.com>
> >Subject: [Patch v3 12/22] MdePkg: Add YAML file for CI
> builds
> >
> >https://bugzilla.tianocore.org/show_bug.cgi?id=2315
> >
> >Add YAML file to the package directory with the
> configuration of the
> >checks to perform during a CI build.
> >
> >Cc: Liming Gao <liming.gao at intel.com>
> >Signed-off-by: Michael D Kinney
> <michael.d.kinney at intel.com>
> >---
> > MdePkg/MdePkg.ci.yaml | 90
> >+++++++++++++++++++++++++++++++++++++++++++
> > 1 file changed, 90 insertions(+)
> > create mode 100644 MdePkg/MdePkg.ci.yaml
> >
> >diff --git a/MdePkg/MdePkg.ci.yaml
> b/MdePkg/MdePkg.ci.yaml new file
> >mode 100644 index 0000000000..4015c07f16
> >--- /dev/null
> >+++ b/MdePkg/MdePkg.ci.yaml
> >@@ -0,0 +1,90 @@
> >+##
> >+# CI configuration for MdePkg
> >+#
> >+# Copyright (c) Microsoft Corporation
> >+# SPDX-License-Identifier: BSD-2-Clause-Patent ## {
> >+    ## options defined ci/Plugin/CompilerPlugin
> >+    "CompilerPlugin": {
> >+        "DscPath": "MdePkg.dsc"
> >+    },
> >+
> >+    ## options defined ci/Plugin/CharEncodingCheck
> >+"CharEncodingCheck": {
> >+        "IgnoreFiles": []
> >+    },
> >+
> >+    ## options defined ci/Plugin/DependencyCheck
> >+    "DependencyCheck": {
> >+        "AcceptableDependencies": [
> >+            "MdePkg/MdePkg.dec"
> >+        ],
> >+        # For host based unit tests
> >+        "AcceptableDependencies-HOST_APPLICATION":[],
> >+        # For UEFI shell based apps
> >+        "AcceptableDependencies-UEFI_APPLICATION":[],
> >+        "IgnoreInf": []
> >+    },
> >+
> >+    ## options defined ci/Plugin/DscCompleteCheck
> >+    "DscCompleteCheck": {
> >+        "IgnoreInf": [],
> >+        "DscPath": "MdePkg.dsc"
> >+    },
> >+
> >+    ## options defined ci/Plugin/GuidCheck
> >+    "GuidCheck": {
> >+        "IgnoreGuidName": [
> >+            "gEfiFirmwareVolumeTopFileGuid" # sec
> modules must be set
> >+ to this
> >guid
> >+        ],
> >+        "IgnoreGuidValue": ["00000000-0000-0000-0000-
> 000000000000"],
> >+        "IgnoreFoldersAndFiles": [],
> >+        "IgnoreDuplicates": [
> >+
> >"gEfiFirmwareVolumeBlockProtocolGuid=gEfiFirmwareVolume
> Block2Protocol
> >Guid",
> >+
> "gEfiMmAccessProtocolGuid=gEfiSmmAccess2ProtocolGuid",
> >+
> >"gEfiSmmCommunicationProtocolGuid=gEfiMmCommunicationPr
> otocolGuid",
> >+
> >"gEfiMmPciRootBridgeIoProtocolGuid=gEfiSmmPciRootBridge
> IoProtocolGuid",
> >+
> "gEfiTrEEProtocolGuid=gEfiTcg2ProtocolGuid",
> >+
> >"gEfiSmmPowerButtonDispatch2ProtocolGuid=gEfiMmPowerBut
> tonDispatch
> >ProtocolGuid",
> >+
> "gEfiSmmBase2ProtocolGuid=gEfiMmBaseProtocolGuid",
> >+
> >"gEfiSmmUsbDispatch2ProtocolGuid=gEfiMmUsbDispatchProto
> colGuid",
> >+
> "gEfiSmmCpuProtocolGuid=gEfiMmCpuProtocolGuid",
> >+            "gEfiAcpiTableGuid=gEfiAcpi20TableGuid",
> >+
> "gEfiSmmControl2ProtocolGuid=gEfiMmControlProtocolGuid",
> >+
> >"gEfiSmmStandbyButtonDispatch2ProtocolGuid=gEfiMmStandb
> yButtonDispat
> >chProtocolGuid",
> >+
> >+
> "gEfiSmmStatusCodeProtocolGuid=gEfiMmStatusCodeProtocolG
> uid",
> >+
> >"gEfiDxeSmmReadyToLockProtocolGuid=gEfiDxeMmReadyToLock
> ProtocolGui
> >d",
> >+
> >"gEfiSmmIoTrapDispatch2ProtocolGuid=gEfiMmIoTrapDispatc
> hProtocolGuid",
> >+
> >"gEfiSmmReadyToLockProtocolGuid=gEfiMmReadyToLockProtoc
> olGuid",
> >+
> "gEfiSmmSxDispatch2ProtocolGuid=gEfiMmSxDispatchProtocol
> Guid",
> >+
> "gEfiPeiCapsulePpiGuid=gPeiCapsulePpiGuid",
> >+
> "gEfiSmmCpuIo2ProtocolGuid=gEfiMmCpuIoProtocolGuid",
> >+
> >+
> "gEfiSmmRscHandlerProtocolGuid=gEfiMmRscHandlerProtocolG
> uid",
> >+
> >"gEfiSmmConfigurationProtocolGuid=gEfiMmConfigurationPr
> otocolGuid",
> >+
> >"gEfiSmmGpiDispatch2ProtocolGuid=gEfiMmGpiDispatchProto
> colGuid",
> >+
> "gEfiSmmEndOfDxeProtocolGuid=gEfiMmEndOfDxeProtocolGuid"
> ,
> >+
> >+
> "gEfiSmmSwDispatch2ProtocolGuid=gEfiMmSwDispatchProtocol
> Guid",
> >+
> >"gEfiDebugPortProtocolGuid=gEfiDebugPortVariableGuid=gE
> fiDebugPortDevi
> >cePathGuid", ## is this a bug
> >+
> >"gEfiProcessorSpecificErrorSectionGuid=gEfiIa32X64Proce
> ssorErrorSection
> >Gui
> >d",  ## is this a bug
> >+
> >"gEfiSmmPeriodicTimerDispatch2ProtocolGuid=gEfiMmPeriod
> icTimerDispatch
> >ProtocolGuid",
> >+
> "gEdkiiFormBrowserExProtocolGuid=gEfiFormBrowserExProtoc
> olGuid",
> >+
> "gEfiPeiMmAccessPpiGuid=gPeiSmmAccessPpiGuid",
> >+
> "gPeiSmmControlPpiGuid=gEfiPeiMmControlPpiGuid"
> >+            ]
> >+    },
> >+
> >+    ## options defined ci/Plugin/LibraryClassCheck
> >+    "LibraryClassCheck": {
> >+        "IgnoreHeaderFile": []
> >+    },
> >+
> >+    ## options defined ci/Plugin/SpellCheck
> >+    "SpellCheck": {
> >+        "AuditOnly": True,           # Fails test but
> run in AuditOnly mode to collect
> >log
> >+        "IgnoreFiles": [],           # use gitignore
> syntax to ignore errors in matching
> >files
> >+        "ExtendWords": [],           # words to extend
> to the dictionary for this
> >package
> >+        "IgnoreStandardPaths": [],   # Standard Plugin
> defined paths that should
> >be ignore
> >+        "AdditionalIncludePaths": [] # Additional
> paths to spell check
> >+ (wildcards
> >supported)
> >+    }
> >+}
> >--
> >2.21.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#49968): https://edk2.groups.io/g/devel/message/49968
Mute This Topic: https://groups.io/mt/39614194/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-





More information about the edk2-devel-archive mailing list