public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Liming Gao" <liming.gao@intel.com>
To: "devel@edk2.groups.io" <devel@edk2.groups.io>,
	"Zhang, Shenglei" <shenglei.zhang@intel.com>,
	Laszlo Ersek <lersek@redhat.com>,
	Leif Lindholm <leif@nuviainc.com>,
	"afish@apple.com" <afish@apple.com>
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: [edk2-devel] [PATCH v6 00/16] Add a plugin to check Ecc issues for edk2 on open ci
Date: Fri, 3 Jul 2020 15:13:39 +0000	[thread overview]
Message-ID: <MWHPR11MB1630DD0570A35602968B6DD8806A0@MWHPR11MB1630.namprd11.prod.outlook.com> (raw)
In-Reply-To: <20200701015516.17108-1-shenglei.zhang@intel.com>

Include more people and collect the comments. 

ECC is the source file coding style checker. Here is its wiki page https://github.com/tianocore/tianocore.github.io/wiki/ECC-tool.
If the changed code doesn't follow edk2 coding style, ECC will report the error. 

This patch set enables ECC checker in open CI for each patch coming into edk2 repo. That means new changes need to follow edk2 coding style. 
Otherwise, new changes can't be merged. 

If you have some comments for ECC checker in open CI, please reply this mail. 

Thanks
Liming
> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Zhang, Shenglei
> Sent: Wednesday, July 1, 2020 9:55 AM
> 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: [edk2-devel] [PATCH v6 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.
> 
> 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           | 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 +
>  pip-requirements.txt                          |   1 +
>  18 files changed, 448 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
> 
> 
> 


  parent reply	other threads:[~2020-07-03 15:13 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-01  1:55 [PATCH v6 00/16] Add a plugin to check Ecc issues for edk2 on open ci Zhang, Shenglei
2020-07-01  1:55 ` [PATCH v6 01/16] pip-requirements.txt: Add Ecc required lib Zhang, Shenglei
2020-07-02  2:22   ` Liming Gao
2020-07-01  1:55 ` [PATCH v6 02/16] .pytool/Plugin: Add a plugin EccCheck Zhang, Shenglei
2020-07-01  1:55 ` [PATCH v6 03/16] MdeModulePkg/MdeModulePkg.ci.yaml: Add configuration for Ecc check Zhang, Shenglei
2020-07-01  1:55 ` [PATCH v6 04/16] ArmVirtPkg/ArmVirtPkg.ci.yaml: " Zhang, Shenglei
2020-07-01  1:55 ` [PATCH v6 05/16] CryptoPkg/CryptoPkg.ci.yaml: " Zhang, Shenglei
2020-07-01  2:14   ` Wang, Jian J
2020-07-01  1:55 ` [PATCH v6 06/16] EmulatorPkg/EmulatorPkg.ci.yaml: " Zhang, Shenglei
2020-07-01  1:55 ` [PATCH v6 07/16] FatPkg/FatPkg.ci.yaml: " Zhang, Shenglei
2020-07-01  1:55 ` [PATCH v6 08/16] FmpDevicePkg/FmpDevicePkg.ci.yaml: " Zhang, Shenglei
2020-07-01  1:55 ` [PATCH v6 09/16] MdePkg/MdePkg.ci.yaml: " Zhang, Shenglei
2020-07-02  2:23   ` [edk2-devel] " Liming Gao
2020-07-01  1:55 ` [PATCH v6 10/16] NetworkPkg/NetworkPkg.ci.yaml: " Zhang, Shenglei
2020-07-01  1:55 ` [PATCH v6 11/16] OvmfPkg/OvmfPkg.ci.yaml: " Zhang, Shenglei
2020-07-01  1:55 ` [PATCH v6 12/16] PcAtChipsetPkg/PcAtChipsetPkg.ci.yaml: " Zhang, Shenglei
2020-07-01  1:55 ` [PATCH v6 13/16] SecurityPkg/SecurityPkg.ci.yaml: " Zhang, Shenglei
2020-07-01  2:13   ` [edk2-devel] " Wang, Jian J
2020-07-01  1:55 ` [PATCH v6 14/16] ShellPkg/ShellPkg.ci.yaml: " Zhang, Shenglei
2020-07-01  1:55 ` [PATCH v6 15/16] UefiCpuPkg/UefiCpuPkg.ci.yaml: " Zhang, Shenglei
2020-07-02  0:50   ` [edk2-devel] " Dong, Eric
2020-07-01  1:55 ` [PATCH v6 16/16] UnitTestFrameworkPkg: Add configuration for Ecc check in yaml file Zhang, Shenglei
2020-07-02  2:30 ` [edk2-devel] [PATCH v6 00/16] Add a plugin to check Ecc issues for edk2 on open ci Liming Gao
2020-07-02  7:57   ` Zhang, Shenglei
2020-07-03 15:13 ` Liming Gao [this message]
2020-07-03 16:01   ` Laszlo Ersek
2020-07-06  1:15     ` Zhang, Shenglei

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=MWHPR11MB1630DD0570A35602968B6DD8806A0@MWHPR11MB1630.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