[edk2-devel] [PATCH v5 00/15] Add a plugin to check Ecc issues for edk2 on open ci

Zhang, Shenglei posted 15 patches 1 week ago
Failed in applying to current master (apply log)
.pytool/Plugin/EccCheck/EccCheck.py           | 268 ++++++++++++++++++
.pytool/Plugin/EccCheck/EccCheck_plug_in.yaml |  11 +
.pytool/Plugin/EccCheck/Readme.md             |  15 +
ArmVirtPkg/ArmVirtPkg.ci.yaml                 |  11 +
CryptoPkg/CryptoPkg.ci.yaml                   |  11 +
EmulatorPkg/EmulatorPkg.ci.yaml               |  11 +
FatPkg/FatPkg.ci.yaml                         |  11 +
FmpDevicePkg/FmpDevicePkg.ci.yaml             |  11 +
MdeModulePkg/MdeModulePkg.ci.yaml             |  11 +
MdePkg/MdePkg.ci.yaml                         |  11 +
NetworkPkg/NetworkPkg.ci.yaml                 |  11 +
OvmfPkg/OvmfPkg.ci.yaml                       |  11 +
PcAtChipsetPkg/PcAtChipsetPkg.ci.yaml         |  11 +
SecurityPkg/SecurityPkg.ci.yaml               |  11 +
ShellPkg/ShellPkg.ci.yaml                     |  11 +
UefiCpuPkg/UefiCpuPkg.ci.yaml                 |  11 +
.../UnitTestFrameworkPkg.ci.yaml              |  10 +
17 files changed, 447 insertions(+)
create mode 100644 .pytool/Plugin/EccCheck/EccCheck.py
create mode 100644 .pytool/Plugin/EccCheck/EccCheck_plug_in.yaml
create mode 100644 .pytool/Plugin/EccCheck/Readme.md

[edk2-devel] [PATCH v5 00/15] Add a plugin to check Ecc issues for edk2 on open ci

Posted by Zhang, Shenglei 1 week ago
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2606
As planed we will enable Ecc check for edk2 on open ci. And they are
ready now. I appreciate receiving feedback and comments if someone
find errors or false positive issues.

I created a pipline of EccCheck for my forked edk2.
https://dev.azure.com/shengleizhang/shengleizhang/_build?definitionId=12&_a=summary

And I also created some test cases for ECC plugin. Results can be view
in the above pipline. Below are test cases.
https://github.com/shenglei10/edk2/tree/ECC

Patches
1/15: It's a lib necessary for py3 to run Ecc on azure servers. For local
     use, we need to type command
     "py -3 -m pip install antlr4-python3-runtime==4.7.1" first.

2/15: EccCheck.py is a plugin to report Ecc issues for commits. It can be run
     on azure servers for open ci, or a local virtual environment.

3/15~15/15: We consider some cases that will report out Ecc issues but they won't
     be fixed, like submodule and industry standard related things. So we
     add two configuration fields "Exception" and "IgnoreFiles" for people
     to use. These patches add configuration in yaml files for Ecc check.

Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Sean Brogan <sean.brogan@microsoft.com>

v2: Update 1/17, fix the bug that the script can't hanlde multiple commits.

v3: Update 1/17, set the only workalbe workspace is edk2 root directory.
    Update 2/17, designate the version of antlr4 is 4.7.1.
    Add 4/17~17/17.

v4. Update 1/17, remove the function EdksetupRebuild(), instead add
    function SetupEnvironment(). Update variables' format and type hints
    to pass flake8 and mypy.

v5. Conver the former method to plugin solution, to align with
    other check points on open ci.

Shenglei Zhang (15):
  .pytool/Plugin: Add a plugin EccCheck
  MdeModulePkg/MdeModulePkg.ci.yaml: Add configuration for Ecc check
  ArmVirtPkg/ArmVirtPkg.ci.yaml: Add configuration for Ecc check
  CryptoPkg/CryptoPkg.ci.yaml: Add configuration for Ecc check
  EmulatorPkg/EmulatorPkg.ci.yaml: Add configuration for Ecc check
  FatPkg/FatPkg.ci.yaml: Add configuration for Ecc check
  FmpDevicePkg/FmpDevicePkg.ci.yaml: Add configuration for Ecc check
  MdePkg/MdePkg.ci.yaml: Add configuration for Ecc check
  NetworkPkg/NetworkPkg.ci.yaml: Add configuration for Ecc check
  OvmfPkg/OvmfPkg.ci.yaml: Add configuration for Ecc check
  PcAtChipsetPkg/PcAtChipsetPkg.ci.yaml: Add configuration for Ecc check
  SecurityPkg/SecurityPkg.ci.yaml: Add configuration for Ecc check
  ShellPkg/ShellPkg.ci.yaml: Add configuration for Ecc check
  UefiCpuPkg/UefiCpuPkg.ci.yaml: Add configuration for Ecc check
  UnitTestFrameworkPkg: Add configuration for Ecc check in yaml file

 .pytool/Plugin/EccCheck/EccCheck.py           | 268 ++++++++++++++++++
 .pytool/Plugin/EccCheck/EccCheck_plug_in.yaml |  11 +
 .pytool/Plugin/EccCheck/Readme.md             |  15 +
 ArmVirtPkg/ArmVirtPkg.ci.yaml                 |  11 +
 CryptoPkg/CryptoPkg.ci.yaml                   |  11 +
 EmulatorPkg/EmulatorPkg.ci.yaml               |  11 +
 FatPkg/FatPkg.ci.yaml                         |  11 +
 FmpDevicePkg/FmpDevicePkg.ci.yaml             |  11 +
 MdeModulePkg/MdeModulePkg.ci.yaml             |  11 +
 MdePkg/MdePkg.ci.yaml                         |  11 +
 NetworkPkg/NetworkPkg.ci.yaml                 |  11 +
 OvmfPkg/OvmfPkg.ci.yaml                       |  11 +
 PcAtChipsetPkg/PcAtChipsetPkg.ci.yaml         |  11 +
 SecurityPkg/SecurityPkg.ci.yaml               |  11 +
 ShellPkg/ShellPkg.ci.yaml                     |  11 +
 UefiCpuPkg/UefiCpuPkg.ci.yaml                 |  11 +
 .../UnitTestFrameworkPkg.ci.yaml              |  10 +
 17 files changed, 447 insertions(+)
 create mode 100644 .pytool/Plugin/EccCheck/EccCheck.py
 create mode 100644 .pytool/Plugin/EccCheck/EccCheck_plug_in.yaml
 create mode 100644 .pytool/Plugin/EccCheck/Readme.md

-- 
2.18.0.windows.1


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

View/Reply Online (#61838): https://edk2.groups.io/g/devel/message/61838
Mute This Topic: https://groups.io/mt/75212069/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-