From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f42.google.com (mail-wr1-f42.google.com [209.85.221.42]) by mx.groups.io with SMTP id smtpd.web12.53811.1594025713018302228 for ; Mon, 06 Jul 2020 01:55:13 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@nuviainc-com.20150623.gappssmtp.com header.s=20150623 header.b=k75IK+i0; spf=pass (domain: nuviainc.com, ip: 209.85.221.42, mailfrom: leif@nuviainc.com) Received: by mail-wr1-f42.google.com with SMTP id o11so39945540wrv.9 for ; Mon, 06 Jul 2020 01:55:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nuviainc-com.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=36fSRd4LrtFLARDhkp/tWhY2w3g88SMQKPrFg+a/rHo=; b=k75IK+i075NLk/ivuwcTQMn53lXkCr3E/cXGtKa8Rqx5LYMQef/+rPRPDcASZcS/oj HlM1Auhzso1Vkuepk9IzkgO6B5Xpr0KQFbuCLovvRiSEs16y8ofEEn7LfdyM+G/xnACq herxaVg9w9/pcY9/Ab2I+UcTIuVxpHhoHbfYl+BTlX23hqycL18swqdNJk/Q5YAPkW94 GcJ13Y0TmtuNoM+8TRkxvQkjclH8WFANaZ0Z0uYZ1LSjpn59RZMqJqCjSnmKvdFmvxjn TNPrDirF2dgjRBCHrVg+esu5DAj8T6EmaNr1t75d+Gw20pKZNEg2JqzjAVAs0IJ+HnZ4 FKPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=36fSRd4LrtFLARDhkp/tWhY2w3g88SMQKPrFg+a/rHo=; b=APYGZcmYBgkMAoirPID0oPdxQvzVDOhHddTxjXr75MwOfnnlMgem8aGAjuUiWbO9dP eAYAbQrs5NhLVKhe+2i4vmbWpsGPfZe2XjOjaykVyo3viudL9WDuM+4qMcnYlui9jlVr qqozazhPc6bHod6S8QyFXicNr0wPvoKoP+OogFw7eLh+WGZ6bVaQ8Iw7u7PlR6HmhlL8 n9VFXMBBcDiCCdsbLHSNeF6lPui7D0mMkaTqT/YBdGePy3kEOFJNChCf3lb89Rl+qMBE HpRlpQiGh521GpWXU7nsslukH80g9D4p9efJW81+GxuiOjLdr3VTeE1idd/wsBRK8cfI i5bQ== X-Gm-Message-State: AOAM530YPGBBSrj8N4z1DU1kwMNL345jVUAe/liz2dg5EdiKh5Gxn/xg 4/DIpBHXVxAKaqVasqNPJiz2qFQFT1VTrkoFnyHMaPnQ4AnuMmJSZxhX6Lsel1MZ3Lw3jK8qpHV 3rYv6KlBnL5BDRI1O7/R1kdDHVhCKe2r+1vE1vvy20Y6wR7HHlxI7aasB7tgecRNkRw== X-Google-Smtp-Source: ABdhPJyFXTtQQaUnJH3rCsKIazMtiQguibCSb8kew1+iHkg10pKc4o8LqQA2ILQ9qPytUmaZOKcvlQ== X-Received: by 2002:adf:ec4e:: with SMTP id w14mr50257139wrn.280.1594025710913; Mon, 06 Jul 2020 01:55:10 -0700 (PDT) Return-Path: Received: from vanye ([2001:470:1f09:12f0:b26e:bfff:fea9:f1b8]) by smtp.gmail.com with ESMTPSA id v12sm10769867wrt.31.2020.07.06.01.55.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Jul 2020 01:55:10 -0700 (PDT) Date: Mon, 6 Jul 2020 09:55:08 +0100 From: "Leif Lindholm" To: devel@edk2.groups.io, shenglei.zhang@intel.com Cc: Bob Feng , Bret Barkelew , Michael D Kinney , Liming Gao , Sean Brogan Subject: Re: [edk2-devel] [PATCH v7 00/16] Add a plugin to check Ecc issues for edk2 on open ci Message-ID: <20200706085508.GA12303@vanye> References: <20200706084846.12748-1-shenglei.zhang@intel.com> MIME-Version: 1.0 In-Reply-To: <20200706084846.12748-1-shenglei.zhang@intel.com> User-Agent: Mutt/1.10.1 (2018-07-13) Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Mon, Jul 06, 2020 at 16:48:30 +0800, Zhang, Shenglei wrote: > 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 > Cc: Bret Barkelew > Cc: Michael D Kinney > Cc: Liming Gao > Cc: Sean Brogan > > 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. What is the bug? Where is it fixed? / Leif > 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 | 267 ++++++++++++++++++ > .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, 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 > > > >