From: "Zhang, Shenglei" <shenglei.zhang@intel.com>
To: "Gao, Liming" <liming.gao@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: [edk2-devel] [PATCH v6 00/16] Add a plugin to check Ecc issues for edk2 on open ci
Date: Thu, 2 Jul 2020 07:57:14 +0000 [thread overview]
Message-ID: <BL0PR11MB350631B51A9A1D2A6BEDEE738C6D0@BL0PR11MB3506.namprd11.prod.outlook.com> (raw)
In-Reply-To: <MWHPR11MB1630247D513FD71ADCBA76BC806D0@MWHPR11MB1630.namprd11.prod.outlook.com>
Liming,
Yes we have instructions to run plugins locally. Since they are not good enough and not easy to find.
I provide the following steps.
Pre-Requisites
* Windows OS
* Make sure you have python 3.7.x or newer available on path
* Make sure you have git installed and available on path
1. Navigate to edk2
2. run `python -m venv pytool-ext-venv`
3. run `pytool-ext-venv\Scripts\activate.bat`
4. run `pip install --upgrade -r pip-requirements.txt`
5. run `stuart_ci_build -c .pytool/CISettings.py TOOL_CHAIN_TAG=NO-TARGET`
It's strongly to remove any anther plugin when developers want to reproduce Ecc issues.
Thanks,
Shenglei
> -----Original Message-----
> From: Gao, Liming <liming.gao@intel.com>
> Sent: Thursday, July 2, 2020 10:31 AM
> To: devel@edk2.groups.io; Zhang, Shenglei <shenglei.zhang@intel.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
>
> Shenglei:
> Thanks for your work to enable ECC checker in open CI. Have you the step
> to run this checker in local environment? The developer may want to
> reproduce the issue and fix it.
>
> Thanks
> Liming
> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Zhang,
> Shenglei
> Sent: 2020年7月1日 9:55
> 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
>
>
>
next prev parent reply other threads:[~2020-07-02 7:57 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 [this message]
2020-07-03 15:13 ` Liming Gao
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=BL0PR11MB350631B51A9A1D2A6BEDEE738C6D0@BL0PR11MB3506.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