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

Michael D Kinney posted 22 patches 6 years, 3 months ago
There is a newer version of this series
[edk2-devel] [Patch v3 12/22] MdePkg: Add YAML file for CI builds
Posted by Michael D Kinney 6 years, 3 months ago
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@intel.com>
Signed-off-by: Michael D Kinney <michael.d.kinney@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=gEfiFirmwareVolumeBlock2ProtocolGuid",
+            "gEfiMmAccessProtocolGuid=gEfiSmmAccess2ProtocolGuid",
+            "gEfiSmmCommunicationProtocolGuid=gEfiMmCommunicationProtocolGuid",
+            "gEfiMmPciRootBridgeIoProtocolGuid=gEfiSmmPciRootBridgeIoProtocolGuid",
+            "gEfiTrEEProtocolGuid=gEfiTcg2ProtocolGuid",
+            "gEfiSmmPowerButtonDispatch2ProtocolGuid=gEfiMmPowerButtonDispatchProtocolGuid",
+            "gEfiSmmBase2ProtocolGuid=gEfiMmBaseProtocolGuid",
+            "gEfiSmmUsbDispatch2ProtocolGuid=gEfiMmUsbDispatchProtocolGuid",
+            "gEfiSmmCpuProtocolGuid=gEfiMmCpuProtocolGuid",
+            "gEfiAcpiTableGuid=gEfiAcpi20TableGuid",
+            "gEfiSmmControl2ProtocolGuid=gEfiMmControlProtocolGuid",
+            "gEfiSmmStandbyButtonDispatch2ProtocolGuid=gEfiMmStandbyButtonDispatchProtocolGuid",
+            "gEfiSmmStatusCodeProtocolGuid=gEfiMmStatusCodeProtocolGuid",
+            "gEfiDxeSmmReadyToLockProtocolGuid=gEfiDxeMmReadyToLockProtocolGuid",
+            "gEfiSmmIoTrapDispatch2ProtocolGuid=gEfiMmIoTrapDispatchProtocolGuid",
+            "gEfiSmmReadyToLockProtocolGuid=gEfiMmReadyToLockProtocolGuid",
+            "gEfiSmmSxDispatch2ProtocolGuid=gEfiMmSxDispatchProtocolGuid",
+            "gEfiPeiCapsulePpiGuid=gPeiCapsulePpiGuid",
+            "gEfiSmmCpuIo2ProtocolGuid=gEfiMmCpuIoProtocolGuid",
+            "gEfiSmmRscHandlerProtocolGuid=gEfiMmRscHandlerProtocolGuid",
+            "gEfiSmmConfigurationProtocolGuid=gEfiMmConfigurationProtocolGuid",
+            "gEfiSmmGpiDispatch2ProtocolGuid=gEfiMmGpiDispatchProtocolGuid",
+            "gEfiSmmEndOfDxeProtocolGuid=gEfiMmEndOfDxeProtocolGuid",
+            "gEfiSmmSwDispatch2ProtocolGuid=gEfiMmSwDispatchProtocolGuid",
+            "gEfiDebugPortProtocolGuid=gEfiDebugPortVariableGuid=gEfiDebugPortDevicePathGuid", ## is this a bug
+            "gEfiProcessorSpecificErrorSectionGuid=gEfiIa32X64ProcessorErrorSectionGuid",  ## is this a bug
+            "gEfiSmmPeriodicTimerDispatch2ProtocolGuid=gEfiMmPeriodicTimerDispatchProtocolGuid",
+            "gEdkiiFormBrowserExProtocolGuid=gEfiFormBrowserExProtocolGuid",
+            "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 (#49596): https://edk2.groups.io/g/devel/message/49596
Mute This Topic: https://groups.io/mt/39614194/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [Patch v3 12/22] MdePkg: Add YAML file for CI builds
Posted by Liming Gao 6 years, 3 months ago
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@edk2.groups.io
>Cc: Gao, Liming <liming.gao@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@intel.com>
>Signed-off-by: Michael D Kinney <michael.d.kinney@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=gEfiFirmwareVolumeBlock2Protocol
>Guid",
>+            "gEfiMmAccessProtocolGuid=gEfiSmmAccess2ProtocolGuid",
>+
>"gEfiSmmCommunicationProtocolGuid=gEfiMmCommunicationProtocolGuid",
>+
>"gEfiMmPciRootBridgeIoProtocolGuid=gEfiSmmPciRootBridgeIoProtocolGuid",
>+            "gEfiTrEEProtocolGuid=gEfiTcg2ProtocolGuid",
>+
>"gEfiSmmPowerButtonDispatch2ProtocolGuid=gEfiMmPowerButtonDispatch
>ProtocolGuid",
>+            "gEfiSmmBase2ProtocolGuid=gEfiMmBaseProtocolGuid",
>+
>"gEfiSmmUsbDispatch2ProtocolGuid=gEfiMmUsbDispatchProtocolGuid",
>+            "gEfiSmmCpuProtocolGuid=gEfiMmCpuProtocolGuid",
>+            "gEfiAcpiTableGuid=gEfiAcpi20TableGuid",
>+            "gEfiSmmControl2ProtocolGuid=gEfiMmControlProtocolGuid",
>+
>"gEfiSmmStandbyButtonDispatch2ProtocolGuid=gEfiMmStandbyButtonDispat
>chProtocolGuid",
>+            "gEfiSmmStatusCodeProtocolGuid=gEfiMmStatusCodeProtocolGuid",
>+
>"gEfiDxeSmmReadyToLockProtocolGuid=gEfiDxeMmReadyToLockProtocolGui
>d",
>+
>"gEfiSmmIoTrapDispatch2ProtocolGuid=gEfiMmIoTrapDispatchProtocolGuid",
>+
>"gEfiSmmReadyToLockProtocolGuid=gEfiMmReadyToLockProtocolGuid",
>+            "gEfiSmmSxDispatch2ProtocolGuid=gEfiMmSxDispatchProtocolGuid",
>+            "gEfiPeiCapsulePpiGuid=gPeiCapsulePpiGuid",
>+            "gEfiSmmCpuIo2ProtocolGuid=gEfiMmCpuIoProtocolGuid",
>+            "gEfiSmmRscHandlerProtocolGuid=gEfiMmRscHandlerProtocolGuid",
>+
>"gEfiSmmConfigurationProtocolGuid=gEfiMmConfigurationProtocolGuid",
>+
>"gEfiSmmGpiDispatch2ProtocolGuid=gEfiMmGpiDispatchProtocolGuid",
>+            "gEfiSmmEndOfDxeProtocolGuid=gEfiMmEndOfDxeProtocolGuid",
>+            "gEfiSmmSwDispatch2ProtocolGuid=gEfiMmSwDispatchProtocolGuid",
>+
>"gEfiDebugPortProtocolGuid=gEfiDebugPortVariableGuid=gEfiDebugPortDevi
>cePathGuid", ## is this a bug
>+
>"gEfiProcessorSpecificErrorSectionGuid=gEfiIa32X64ProcessorErrorSectionGui
>d",  ## is this a bug
>+
>"gEfiSmmPeriodicTimerDispatch2ProtocolGuid=gEfiMmPeriodicTimerDispatch
>ProtocolGuid",
>+            "gEdkiiFormBrowserExProtocolGuid=gEfiFormBrowserExProtocolGuid",
>+            "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 (#49960): https://edk2.groups.io/g/devel/message/49960
Mute This Topic: https://groups.io/mt/39614194/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [Patch v3 12/22] MdePkg: Add YAML file for CI builds
Posted by Michael D Kinney 6 years, 3 months ago
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@intel.com>
> Sent: Tuesday, November 5, 2019 12:22 AM
> To: Kinney, Michael D <michael.d.kinney@intel.com>;
> devel@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@edk2.groups.io
> >Cc: Gao, Liming <liming.gao@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@intel.com>
> >Signed-off-by: Michael D Kinney
> <michael.d.kinney@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/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [Patch v3 12/22] MdePkg: Add YAML file for CI builds
Posted by Liming Gao 6 years, 3 months ago
Mike:
  So, github plugin (.azurepipelines, .mergify) uses .yml files. Edk2 pytool plugin uses .yaml. Right?

Thanks
Liming
>-----Original Message-----
>From: Kinney, Michael D
>Sent: Wednesday, November 06, 2019 1:05 AM
>To: Gao, Liming <liming.gao@intel.com>; devel@edk2.groups.io; Kinney,
>Michael D <michael.d.kinney@intel.com>; Sean Brogan
><sean.brogan@microsoft.com>
>Subject: RE: [Patch v3 12/22] MdePkg: Add YAML file for CI builds
>
>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@intel.com>
>> Sent: Tuesday, November 5, 2019 12:22 AM
>> To: Kinney, Michael D <michael.d.kinney@intel.com>;
>> devel@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@edk2.groups.io
>> >Cc: Gao, Liming <liming.gao@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@intel.com>
>> >Signed-off-by: Michael D Kinney
>> <michael.d.kinney@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 (#50007): https://edk2.groups.io/g/devel/message/50007
Mute This Topic: https://groups.io/mt/39614194/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [Patch v3 12/22] MdePkg: Add YAML file for CI builds
Posted by Michael D Kinney 6 years, 3 months ago
Yes.

Mike

> -----Original Message-----
> From: Gao, Liming <liming.gao@intel.com>
> Sent: Tuesday, November 5, 2019 4:21 PM
> To: Kinney, Michael D <michael.d.kinney@intel.com>;
> devel@edk2.groups.io; Sean Brogan
> <sean.brogan@microsoft.com>
> Subject: RE: [Patch v3 12/22] MdePkg: Add YAML file for
> CI builds
> 
> Mike:
>   So, github plugin (.azurepipelines, .mergify) uses
> .yml files. Edk2 pytool plugin uses .yaml. Right?
> 
> Thanks
> Liming
> >-----Original Message-----
> >From: Kinney, Michael D
> >Sent: Wednesday, November 06, 2019 1:05 AM
> >To: Gao, Liming <liming.gao@intel.com>;
> devel@edk2.groups.io; Kinney,
> >Michael D <michael.d.kinney@intel.com>; Sean Brogan
> ><sean.brogan@microsoft.com>
> >Subject: RE: [Patch v3 12/22] MdePkg: Add YAML file for
> CI builds
> >
> >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@intel.com>
> >> Sent: Tuesday, November 5, 2019 12:22 AM
> >> To: Kinney, Michael D <michael.d.kinney@intel.com>;
> >> devel@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@edk2.groups.io
> >> >Cc: Gao, Liming <liming.gao@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@intel.com>
> >> >Signed-off-by: Michael D Kinney
> >> <michael.d.kinney@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 (#50010): https://edk2.groups.io/g/devel/message/50010
Mute This Topic: https://groups.io/mt/39614194/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-