From: "Liming Gao" <liming.gao@intel.com>
To: "Zhang, Shenglei" <shenglei.zhang@intel.com>,
"devel@edk2.groups.io" <devel@edk2.groups.io>
Cc: "Feng, Bob C" <bob.c.feng@intel.com>,
Bret Barkelew <Bret.Barkelew@microsoft.com>,
"Kinney, Michael D" <michael.d.kinney@intel.com>,
Sean Brogan <sean.brogan@microsoft.com>
Subject: Re: [PATCH v9 00/16] Add a plugin to check Ecc issues for edk2 on open ci
Date: Wed, 12 Aug 2020 01:07:56 +0000 [thread overview]
Message-ID: <CY4PR11MB1526E34C159A5A263959553580420@CY4PR11MB1526.namprd11.prod.outlook.com> (raw)
In-Reply-To: <20200811070204.55160-1-shenglei.zhang@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
-----Original Message-----
From: Zhang, Shenglei <shenglei.zhang@intel.com>
Sent: 2020年8月11日 15:02
To: devel@edk2.groups.io
Cc: Feng, Bob C <bob.c.feng@intel.com>; Bret Barkelew <Bret.Barkelew@microsoft.com>; Kinney, Michael D <michael.d.kinney@intel.com>; Gao, Liming <liming.gao@intel.com>; Sean Brogan <sean.brogan@microsoft.com>
Subject: [PATCH v9 00/16] Add a plugin to check Ecc issues for edk2 on open ci
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. Welcome everyone to create pull request to test the quality of this plugin.
My forked tree: https://github.com/shenglei10/edk2
And I also created some test cases for ECC plugin. Below are test cases.
https://github.com/shenglei10/edk2/tree/ECC
Results can be view in below azure server.
https://dev.azure.com/shengleizhang/shengleizhang/_build?definitionId=12&_a=summary
Patches
1/16: It's a lib necessary for py3 to run Ecc on azure servers.
2/16: 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/16~16/16: 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.
v6. The 1/16 patch is missed in v5 series. Now add it in v6.
v7. Fix a bug that Ecc plugin can not be run correctly under Linux OS.
v8. Enable error code config section to ignore certain kinds of issues,
which are always false positive in partial Ecc scaning.
All patches except 2/16 have been R-B and are not updated in v8 series.
To avoid making noise in community, I only send cover letter and 2/16 patch.
v9. Update 2/16, 3/16, 5/16 and 16/16.
1. Enable directory path for "IgnoreFiles" section in xxxPkg.yaml. So that
users can skip a certain directory and don't need to fill in with file names.
2. Add submodule pathes in "IgnoreFiles" in MdeModulePkg.ci.yaml,
CryptoPkg.ci.yaml and UnitTestFrameworkPkg.ci.yaml.
Shenglei Zhang (16):
pip-requirements.txt: Add Ecc required lib
.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 | 302 ++++++++++++++++++
.pytool/Plugin/EccCheck/EccCheck_plug_in.yaml | 11 +
.pytool/Plugin/EccCheck/Readme.md | 15 +
ArmVirtPkg/ArmVirtPkg.ci.yaml | 11 +
CryptoPkg/CryptoPkg.ci.yaml | 13 +
EmulatorPkg/EmulatorPkg.ci.yaml | 11 +
FatPkg/FatPkg.ci.yaml | 12 +
FmpDevicePkg/FmpDevicePkg.ci.yaml | 12 +
MdeModulePkg/MdeModulePkg.ci.yaml | 13 +
MdePkg/MdePkg.ci.yaml | 11 +
NetworkPkg/NetworkPkg.ci.yaml | 12 +
OvmfPkg/OvmfPkg.ci.yaml | 11 +
PcAtChipsetPkg/PcAtChipsetPkg.ci.yaml | 12 +
SecurityPkg/SecurityPkg.ci.yaml | 12 +
ShellPkg/ShellPkg.ci.yaml | 12 +
UefiCpuPkg/UefiCpuPkg.ci.yaml | 12 +
.../UnitTestFrameworkPkg.ci.yaml | 11 +
pip-requirements.txt | 1 +
18 files changed, 494 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
prev parent reply other threads:[~2020-08-12 1:08 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-11 7:01 [PATCH v9 00/16] Add a plugin to check Ecc issues for edk2 on open ci Zhang, Shenglei
2020-08-11 7:01 ` [PATCH v9 01/16] pip-requirements.txt: Add Ecc required lib Zhang, Shenglei
2020-08-11 7:01 ` [PATCH v9 02/16] .pytool/Plugin: Add a plugin EccCheck Zhang, Shenglei
2020-08-11 7:01 ` [PATCH v9 03/16] MdeModulePkg/MdeModulePkg.ci.yaml: Add configuration for Ecc check Zhang, Shenglei
2020-08-11 7:01 ` [PATCH v9 04/16] ArmVirtPkg/ArmVirtPkg.ci.yaml: " Zhang, Shenglei
2020-08-11 8:14 ` Ard Biesheuvel
2020-08-11 7:01 ` [PATCH v9 05/16] CryptoPkg/CryptoPkg.ci.yaml: " Zhang, Shenglei
2020-08-11 11:21 ` [edk2-devel] " Guomin Jiang
2020-08-11 7:01 ` [PATCH v9 06/16] EmulatorPkg/EmulatorPkg.ci.yaml: " Zhang, Shenglei
2020-08-11 7:01 ` [PATCH v9 07/16] FatPkg/FatPkg.ci.yaml: " Zhang, Shenglei
2020-08-11 7:01 ` [PATCH v9 08/16] FmpDevicePkg/FmpDevicePkg.ci.yaml: " Zhang, Shenglei
2020-08-11 7:01 ` [PATCH v9 09/16] MdePkg/MdePkg.ci.yaml: " Zhang, Shenglei
2020-08-11 7:01 ` [PATCH v9 10/16] NetworkPkg/NetworkPkg.ci.yaml: " Zhang, Shenglei
2020-08-11 7:01 ` [PATCH v9 11/16] OvmfPkg/OvmfPkg.ci.yaml: " Zhang, Shenglei
2020-08-11 7:02 ` [PATCH v9 12/16] PcAtChipsetPkg/PcAtChipsetPkg.ci.yaml: " Zhang, Shenglei
2020-08-11 7:02 ` [PATCH v9 13/16] SecurityPkg/SecurityPkg.ci.yaml: " Zhang, Shenglei
2020-08-11 7:02 ` [PATCH v9 14/16] ShellPkg/ShellPkg.ci.yaml: " Zhang, Shenglei
2020-08-11 7:02 ` [PATCH v9 15/16] UefiCpuPkg/UefiCpuPkg.ci.yaml: " Zhang, Shenglei
2020-08-11 7:02 ` [PATCH v9 16/16] UnitTestFrameworkPkg: Add configuration for Ecc check in yaml file Zhang, Shenglei
2020-08-14 1:58 ` Michael D Kinney
2020-08-11 15:35 ` [edk2-devel] [PATCH v9 00/16] Add a plugin to check Ecc issues for edk2 on open ci Laszlo Ersek
2020-08-12 1:23 ` Zhang, Shenglei
2020-08-12 1:07 ` Liming Gao [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CY4PR11MB1526E34C159A5A263959553580420@CY4PR11MB1526.namprd11.prod.outlook.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox