Adds a PrEval entry to the package's ci.yaml file which is used to verify if the package uses a particular library instance when that library instance file (INF) is updated. When a library instance file (INF) is updated, PrEval will review each package's DSC as described in the ci.yaml file to determine if the package uses said library instance. If the package does use the library instance, it will be built and tested to ensure the package is not broken from the change. Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Zhiguang Liu <zhiguang.liu@intel.com> Signed-off-by: Joey Vagedes <joeyvagedes@gmail.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
196 lines
8.4 KiB
YAML
196 lines
8.4 KiB
YAML
## @file
|
|
# CI configuration for MdePkg
|
|
#
|
|
# Copyright (c) Microsoft Corporation
|
|
# Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
|
|
# Copyright (c) 2021, Arm Limited. All rights reserved.<BR>
|
|
# Copyright (c) 2023, Loongson Technology Corporation Limited. All rights reserved.<BR>
|
|
# Copyright (C) 2023 Advanced Micro Devices, Inc. All rights reserved.<BR>
|
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
##
|
|
{
|
|
"PrEval": {
|
|
"DscPath": "MdePkg.dsc",
|
|
},
|
|
## options defined .pytool/Plugin/LicenseCheck
|
|
"LicenseCheck": {
|
|
"IgnoreFiles": [
|
|
# This file is copied from mipi sys-T submodule and generated by python script with customization.
|
|
"Library/MipiSysTLib/mipi_syst.h"
|
|
]
|
|
},
|
|
"EccCheck": {
|
|
## Exception sample looks like below:
|
|
## "ExceptionList": [
|
|
## "<ErrorID>", "<KeyWord>"
|
|
## ]
|
|
"ExceptionList": [
|
|
"9005", "@VDD",
|
|
"8005", "gST",
|
|
"8005", "gBS",
|
|
"8005", "gDS",
|
|
"8005", "gDS",
|
|
"8002", "va_list",
|
|
"8005", "EFI_BLUETOOTH_LE_SCAN_CALLBACK_INFORMATION.RSSI",
|
|
"8005", "void",
|
|
"8005", "va_list.__ap",
|
|
"8005", "__stack_chk_guard",
|
|
"8005", "BASE_LIBRARY_JUMP_BUFFER.S0",
|
|
"8005", "BASE_LIBRARY_JUMP_BUFFER.S1",
|
|
"8005", "BASE_LIBRARY_JUMP_BUFFER.S2",
|
|
"8005", "BASE_LIBRARY_JUMP_BUFFER.S3",
|
|
"8005", "BASE_LIBRARY_JUMP_BUFFER.S4",
|
|
"8005", "BASE_LIBRARY_JUMP_BUFFER.S5",
|
|
"8005", "BASE_LIBRARY_JUMP_BUFFER.S6",
|
|
"8005", "BASE_LIBRARY_JUMP_BUFFER.S7",
|
|
"8005", "BASE_LIBRARY_JUMP_BUFFER.S8",
|
|
"8005", "BASE_LIBRARY_JUMP_BUFFER.SP",
|
|
"8005", "BASE_LIBRARY_JUMP_BUFFER.FP",
|
|
"8005", "BASE_LIBRARY_JUMP_BUFFER.RA",
|
|
"8001", "MSG_IPv6_DP",
|
|
"8001", "MSG_IPv4_DP",
|
|
"8001", "DEFAULT_ToS",
|
|
"8001", "EFI_SERIAL_IO_PROTOCOL_REVISION1p1",
|
|
"8001", "EFI_ABS_AltActive",
|
|
"8001", "EFI_ABSP_SupportsAltActive",
|
|
"8001", "_ReadWriteBarrier",
|
|
"8001", "__va_copy",
|
|
"8003", "__va_copy",
|
|
"7007", "_EFI_LEGACY_SPI_CONTROLLER_PROTOCOL",
|
|
"7007", "_EFI_LEGACY_SPI_FLASH_PROTOCOL",
|
|
"7007", "_EFI_SPI_NOR_FLASH_PROTOCOL",
|
|
"7007", "_EFI_SPI_HC_PROTOCOL",
|
|
"8002", "aligned (",
|
|
"4002", "_ReturnAddress"
|
|
],
|
|
## Both file path and directory path are accepted.
|
|
"IgnoreFiles": [
|
|
"Include/IndustryStandard/Acpi64.h",
|
|
"Include/IndustryStandard/Acpi65.h",
|
|
"Include/IndustryStandard/Tpm12.h",
|
|
"Include/IndustryStandard/Tpm20.h",
|
|
"Include/IndustryStandard/IoRemappingTable.h",
|
|
"Include/IndustryStandard/UefiTcgPlatform.h",
|
|
"Include/Library/PcdLib.h",
|
|
"Include/Library/SafeIntLib.h",
|
|
"Include/Protocol/DebugSupport.h",
|
|
"Test/UnitTest/Library/BaseSafeIntLib/TestBaseSafeIntLib.c",
|
|
"Library/BaseFdtLib",
|
|
"Library/MipiSysTLib/mipi_syst.h",
|
|
"Include/Register/Amd/SmramSaveStateMap.h",
|
|
"Test/UnitTest/Library/DevicePathLib/TestDevicePathLib.c",
|
|
"Test/UnitTest/Library/DevicePathLib/TestDevicePathLib.h",
|
|
"Test/UnitTest/Library/DevicePathLib/TestDevicePathStringConversions.c"
|
|
]
|
|
},
|
|
## options defined ci/Plugin/CompilerPlugin
|
|
"CompilerPlugin": {
|
|
"DscPath": "MdePkg.dsc"
|
|
},
|
|
|
|
## options defined ci/Plugin/HostUnitTestCompilerPlugin
|
|
"HostUnitTestCompilerPlugin": {
|
|
"DscPath": "Test/MdePkgHostTest.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":[
|
|
"UnitTestFrameworkPkg/UnitTestFrameworkPkg.dec"
|
|
],
|
|
# For UEFI shell based apps
|
|
"AcceptableDependencies-UEFI_APPLICATION":[],
|
|
"IgnoreInf": []
|
|
},
|
|
|
|
## options defined ci/Plugin/DscCompleteCheck
|
|
"DscCompleteCheck": {
|
|
"IgnoreInf": [""],
|
|
"DscPath": "MdePkg.dsc"
|
|
},
|
|
|
|
## options defined ci/Plugin/HostUnitTestDscCompleteCheck
|
|
"HostUnitTestDscCompleteCheck": {
|
|
"IgnoreInf": [""],
|
|
"DscPath": "Test/MdePkgHostTest.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",
|
|
"gEfiPeiMmAccessPpiGuid=gPeiSmmAccessPpiGuid",
|
|
"gPeiSmmControlPpiGuid=gEfiPeiMmControlPpiGuid",
|
|
"gEfiPeiMmCommunicationPpiGuid=gEfiPeiSmmCommunicationPpiGuid",
|
|
]
|
|
},
|
|
|
|
## 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)
|
|
},
|
|
|
|
# options defined in .pytool/Plugin/UncrustifyCheck
|
|
"UncrustifyCheck": {
|
|
"IgnoreFiles": [
|
|
"Library/BaseFdtLib/libfdt",
|
|
"Library/BaseFdtLib/limits.h",
|
|
"Library/BaseFdtLib/stdbool.h",
|
|
"Library/BaseFdtLib/stddef.h",
|
|
"Library/BaseFdtLib/stdint.h",
|
|
"Library/BaseFdtLib/stdlib.h",
|
|
"Library/BaseFdtLib/string.h",
|
|
"mipi_syst.h"
|
|
]
|
|
}
|
|
}
|