From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f49.google.com (mail-pj1-f49.google.com [209.85.216.49]) by mx.groups.io with SMTP id smtpd.web10.763.1687885151905453241 for ; Tue, 27 Jun 2023 09:59:11 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20221208 header.b=rGExVSpF; spf=pass (domain: gmail.com, ip: 209.85.216.49, mailfrom: joey.vagedes@gmail.com) Received: by mail-pj1-f49.google.com with SMTP id 98e67ed59e1d1-262d505f336so1654017a91.2 for ; Tue, 27 Jun 2023 09:59:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1687885151; x=1690477151; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=yRX6VN8Kxx3fBX1FI17uO4s4zrzEZiTd4k1tzybpROE=; b=rGExVSpFxni/TikrSPikPyxUYcGaUJCN92gPDpXHnoK2hcoR8ZCHEH1rSkP3Qr+v/5 EozSU1k8+PcNiRkilozvTJX0j8oEwkYRkJfCimpOcITrQbhs0kdXdvAuTbdp8qrhXYPs lRLnIrbg/SYCN+q9ak9JOpK/UabQo13ZVZkSc7rmaWE8YKWpB2Yo2q9iMETFWKVmharu NjZJ7h/nYu7tOaR0Ow6faBW1sXUtxV5DxQTcVthfZ+OYRwA/KBdirZV2wy86yHNYUzIc I3zQn7DPvhao5c2vrK/CmQMGZ4EzFJpQQMxYOOmMRAhMDrhcI1gKJeqFDY4Ai3gjTpzV SeTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687885151; x=1690477151; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=yRX6VN8Kxx3fBX1FI17uO4s4zrzEZiTd4k1tzybpROE=; b=OrfZD3pW2xCJ/CWtMahGga5bjLU45Ed2FcsF3EOlxd03Qv8xcWecLuwClRDmA+Pdfr QYHMLy588UDby+gKc6narUIoWUGSCyrKfkIPn7fE3ChIZXoM1YyfkAyJIkyY4mjf1XA2 mN5RFl0bD19OzyW/lRoxpNly1rc0l+6GA38hcNsaNc3X/Aj54mySHWOT7AeDV7p4uiJ3 wLpeTIU97eO4Rem0wNV0vRFtLV+susm0qzOnPqDD5dF7PmBq3x9sT1xDaOLzMDsNBaoY P4n3fTme+krm8SuGwdaqcMLpf44yTy98DKYicX8f+xU7GSlBNGzo2wvTFPxtOzxsgp6m Dq2Q== X-Gm-Message-State: AC+VfDwDwACzWS/JGtT7CwT46cHlVDL0uz9NhXX4G4RS+Aq6q+6cB/K1 LJRg9RVoSQC5CmEY1nfxA7Cbe69SiH9NjdLGVz4= X-Google-Smtp-Source: ACHHUZ6faauU2rLppoEd4GPwMslqCnUd7lPukeChRB81aLRkB9fTJ96ACtGXB1931x2AlAP0vLjxzhe/CfwiU0yQkFQ= X-Received: by 2002:a17:90b:1a8b:b0:262:fba6:59b5 with SMTP id ng11-20020a17090b1a8b00b00262fba659b5mr3789377pjb.24.1687885151210; Tue, 27 Jun 2023 09:59:11 -0700 (PDT) MIME-Version: 1.0 References: <20230626213434.8-1-joey.vagedes@gmail.com> <00ec01d9a892$a71e1b40$f55a51c0$@byosoft.com.cn> In-Reply-To: <00ec01d9a892$a71e1b40$f55a51c0$@byosoft.com.cn> From: Joey Vagedes Date: Tue, 27 Jun 2023 09:58:58 -0700 Message-ID: Subject: Re: [PATCH v1 00/24] Update Edk2-pytools to latest versions To: gaoliming Cc: devel@edk2.groups.io, Abner Chang , Alexei Fedorov , Ard Biesheuvel , Ashraf Ali S , Chasel Chiu , Chen Gang C , Daniel Schaefer , Duggapu Chinni B , Eric Dong , Gerd Hoffmann , Guo Dong , Guomin Jiang , Hao A Wu , Igor Kulchytskyy , James Lu , Jian J Wang , Jiewen Yao , Leif Lindholm , Maciej Rabeda , Michael D Kinney , Michael Kubacki , Nate DeSimone , Nickle Wang , Pierre Gondois , Rahul Kumar , Ray Han Lim Ng , Ray Ni , Sami Mujawar , Sean Brogan , Sean Rhodes , Siyuan Fu , Star Zeng , Susovan Mohapatra , Ted Kuo , Wei6 Xu , Xiaoyu Lu , Yi Li , Zhichao Gao , Zhiguang Liu Content-Type: multipart/alternative; boundary="000000000000dc12f005ff1f62b6" --000000000000dc12f005ff1f62b6 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Yes this change is currently required to enable Policy 5 for a given package. I'm tempted to move this patch series to individual patch series so that I can merge individual changes as they are approved in a package. We could try and set the dsc automatically as you suggested. It would be preferred to trying to get this patch series pushed through on almost all packages in edk2 :). However there are some issues I don't think we can easily work around: 1. There exist very few packages that only have one dsc in them (for various reasons, one of which is that most packages have a dsc for testing... but others such as the ArmVirtPkg have many in general) 2. The target of this Policy is to catch changes in an INF and build all packages that use the INF via the compiler plugin, however not all packages utilize the compiler plugin (such as EmulatorPkg). Using EmulatorPkg as an example, if Policy 5 catches that its dsc uses the changed INF, then CI will pointlessly run for EmulatorPkg. It is pointless because EmulatorPkg's dsc will not be compiled, so even if there is a break in the INF interface, it will not be caught for EmulatorPkg, but all other CI will run on an unchanged package, wasting time. 3. It can cause unexpected behavior for the package developer Let me know your thoughts! Joey On Mon, Jun 26, 2023 at 6:00=E2=80=AFPM gaoliming wrote: > Joey: > So, this change is required for all package YAML. If yes, can PrEval be > auto set to the package dsc if only one DSC is in Package directory? > > Thanks > Liming > > -----=E9=82=AE=E4=BB=B6=E5=8E=9F=E4=BB=B6----- > > =E5=8F=91=E4=BB=B6=E4=BA=BA: Joey Vagedes > > =E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4: 2023=E5=B9=B46=E6=9C=8827=E6=97= =A5 5:34 > > =E6=94=B6=E4=BB=B6=E4=BA=BA: devel@edk2.groups.io > > =E6=8A=84=E9=80=81: Abner Chang ; Alexei Fedorov > > ; Ard Biesheuvel ; > > Ashraf Ali S ; Chasel Chiu > ; > > Chen Gang C ; Daniel Schaefer > > ; Duggapu Chinni B ; > > Eric Dong ; Gerd Hoffmann ; Guo > > Dong ; Guomin Jiang ; Hao > > A Wu ; Igor Kulchytskyy ; James Lu > > ; Jian J Wang ; Jiewen Yao > > ; Leif Lindholm ; > Liming > > Gao ; Maciej Rabeda > > ; Michael D Kinney > > ; Michael Kubacki > > ; Nate DeSimone > > ; Nickle Wang ; > > Pierre Gondois ; Rahul Kumar > > ; Ray Han Lim Ng ; > > Ray Ni ; Sami Mujawar ; Sean > > Brogan ; Sean Rhodes > > ; Siyuan Fu ; Star Zeng > > ; Susovan Mohapatra > > ; Ted Kuo ; Wei6 Xu > > ; Xiaoyu Lu ; Yi Li > > ; Zhichao Gao ; Zhiguang Liu > > > > =E4=B8=BB=E9=A2=98: [PATCH v1 00/24] Update Edk2-pytools to latest vers= ions > > > > Updates Edk2-pytools to the latest versions, which introduces a new > Policy > > for detecting which packages must be built given a set of changes. This > policy > > is used when a library class instance INF is changed. When this occurs, > it > will > > review the PrEval:DscPath provided in the CI YAML file and determine if > the > > package uses the library instance or not. If it does, it will build and > test > > the package. > > > > Due to these changes, each package must now include an entry in it's CI > > YAML > > file (PrEval:DscPath). If the package does not provide this entry, this > policy > > will be skipped, which could lead to a library instance breaking packag= es > > outside > > of it's parent package. > > > > Cc: Abner Chang > > Cc: Alexei Fedorov > > Cc: Ard Biesheuvel > > Cc: Ashraf Ali S > > Cc: Chasel Chiu > > Cc: Chen Gang C > > Cc: Daniel Schaefer > > Cc: Duggapu Chinni B > > Cc: Eric Dong > > Cc: Gerd Hoffmann > > Cc: Guo Dong > > Cc: Guomin Jiang > > Cc: Hao A Wu > > Cc: Igor Kulchytskyy > > Cc: James Lu > > Cc: Jian J Wang > > Cc: Jiewen Yao > > Cc: Leif Lindholm > > Cc: Liming Gao > > Cc: Maciej Rabeda > > Cc: Michael D Kinney > > Cc: Michael Kubacki > > Cc: Nate DeSimone > > Cc: Nickle Wang > > Cc: Pierre Gondois > > Cc: Rahul Kumar > > Cc: Ray Han Lim Ng > > Cc: Ray Ni > > Cc: Sami Mujawar > > Cc: Sean Brogan > > Cc: Sean Rhodes > > Cc: Siyuan Fu > > Cc: Star Zeng > > Cc: Susovan Mohapatra > > Cc: Ted Kuo > > Cc: Wei6 Xu > > Cc: Xiaoyu Lu > > Cc: Yi Li > > Cc: Zhichao Gao > > Cc: Zhiguang Liu > > > > Joey Vagedes (24): > > Edk2: edk2-pytools: Update to latest versions > > UnitTestFrameworkPkg: CI: Add PrEval entry > > UefiPayloadPkg: CI: Add PrEval entry > > ArmPkg: CI: Add PrEval entry > > UefiCpuPkg: CI: Add PrEval entry > > ArmPlatformPkg: CI: Add PrEval entry > > CryptoPkg: CI: Add PrEval entry > > DynamicTablesPkg: CI: Add PrEval entry > > EmbeddedPkg: CI: Add PrEval entry > > FatPkg: CI: Add PrEval entry > > FmpDevicePkg: CI: Add PrEval entry > > IntelFsp2Pkg: CI: Add PrEval entry > > CryptoPkg: CI: Add PrEval entry > > SourceLevelDebugPkg: CI: Add PrEval entry > > SignedCapsulePkg: CI: Add PrEval entry > > ShellPkg: CI: Add PrEval entry > > SecurityPkg: CI: Add PrEval entry > > RedfishPkg: CI: Add PrEval entry > > PrmPkg: CI: Add PrEval entry > > PcAtChipsetPkg: CI: Add PrEval entry > > NetworkPkg: CI: Add PrEval entry > > MdePkg: CI: Add PrEval entry > > MdeModulePkg: CI: Add PrEval entry > > IntelFsp2WrapperPkg: CI: Add PrEval entry > > > > ArmPkg/ArmPkg.ci.yaml | 3 +++ > > ArmPlatformPkg/ArmPlatformPkg.ci.yaml | 3 +++ > > CryptoPkg/CryptoPkg.ci.yaml | 3 +++ > > DynamicTablesPkg/DynamicTablesPkg.ci.yaml | 3 +++ > > EmbeddedPkg/EmbeddedPkg.ci.yaml | 3 +++ > > FatPkg/FatPkg.ci.yaml | 3 +++ > > FmpDevicePkg/FmpDevicePkg.ci.yaml | 3 +++ > > IntelFsp2Pkg/IntelFsp2Pkg.ci.yaml | 3 +++ > > IntelFsp2WrapperPkg/IntelFsp2WrapperPkg.ci.yaml | 3 +++ > > MdeModulePkg/MdeModulePkg.ci.yaml | 3 +++ > > MdePkg/MdePkg.ci.yaml | 3 +++ > > NetworkPkg/NetworkPkg.ci.yaml | 3 +++ > > PcAtChipsetPkg/PcAtChipsetPkg.ci.yaml | 3 +++ > > PrmPkg/PrmPkg.ci.yaml | 3 +++ > > RedfishPkg/RedfishPkg.ci.yaml | 3 +++ > > SecurityPkg/SecurityPkg.ci.yaml | 3 +++ > > ShellPkg/ShellPkg.ci.yaml | 3 +++ > > SignedCapsulePkg/SignedCapsulePkg.ci.yaml | 3 +++ > > SourceLevelDebugPkg/SourceLevelDebugPkg.ci.yaml | 3 +++ > > StandaloneMmPkg/StandaloneMmPkg.ci.yaml | 3 +++ > > UefiCpuPkg/UefiCpuPkg.ci.yaml | 3 +++ > > UefiPayloadPkg/UefiPayloadPkg.ci.yaml | 3 +++ > > UnitTestFrameworkPkg/UnitTestFrameworkPkg.ci.yaml | 3 +++ > > pip-requirements.txt | 4 ++-- > > 24 files changed, 71 insertions(+), 2 deletions(-) > > > > -- > > 2.41.0.windows.1 > > > > --000000000000dc12f005ff1f62b6 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Yes this change is currently required to enable Policy 5 f= or a given package. I'm tempted to move this patch series to individual= patch series so that I can merge individual changes as they are approved i= n a package.

We could try and set the dsc automatically as you sugge= sted. It would be preferred to trying to get this patch series pushed throu= gh on almost all packages in edk2 :). However there are some issues I don&#= 39;t think we can easily work around:

1. There exist ver= y few packages that only have one dsc in them (for various reasons, one of = which is that most packages have a dsc for testing... but others such as th= e ArmVirtPkg have many in general)
2. The target of this Policy i= s to catch changes in an INF and build all packages that use the INF via th= e compiler plugin, however not all packages utilize the compiler plugin (su= ch as EmulatorPkg). Using=C2=A0 EmulatorPkg=C2=A0 as an example, if Policy 5 catches that its dsc uses the = changed INF, then CI will pointlessly run for=C2=A0 EmulatorPkg. It is pointless because=C2=A0 EmulatorPkg's dsc will not be compiled, so even if there is a break in = the INF interface, it will not be caught for=C2=A0 EmulatorPkg, but all other CI will run on an unchanged package, wasting tim= e.
3. It can cause unexpected behavior for the package developer<= /div>

Let me know your thoughts!
Joey


On Mon, Jun 26, 2023 at 6:00=E2=80=AFPM gaoliming <gaoliming@byosoft.com.cn> wrote= :
Joey:
=C2=A0 So, this change is required for all package YAML. If yes, can PrEval= be
auto set to the package dsc if only one DSC is in Package directory?

Thanks
Liming
> -----=E9=82=AE=E4=BB=B6=E5=8E=9F=E4=BB=B6-----
> =E5=8F=91=E4=BB=B6=E4=BA=BA: Joey Vagedes <joey.vagedes@gmail.com>
> =E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4: 2023=E5=B9=B46=E6=9C=8827=E6=97= =A5 5:34
> =E6=94=B6=E4=BB=B6=E4=BA=BA: devel@edk2.groups.io
> =E6=8A=84=E9=80=81: Abner Chang <abner.chang@amd.com>; Alexei Fedorov
> <Alexei= .Fedorov@arm.com>; Ard Biesheuvel <ardb+tianocore@kernel.org>;
> Ashraf Ali S <ashraf.ali.s@intel.com>; Chasel Chiu
<chasel.chiu@= intel.com>;
> Chen Gang C <gang.c.chen@intel.com>; Daniel Schaefer
> <git@dan= ielschaefer.me>; Duggapu Chinni B <chinni.b.duggapu@intel.com>;
> Eric Dong <eric.dong@intel.com>; Gerd Hoffmann <kraxel@redhat.com>; Guo
> Dong <guo.d= ong@intel.com>; Guomin Jiang <guomin.jiang@intel.com>; Hao
> A Wu <hao.a= .wu@intel.com>; Igor Kulchytskyy <igork@ami.com>; James Lu
> <james.lu@i= ntel.com>; Jian J Wang <jian.j.wang@intel.com>; Jiewen Yao
> <jiewen.y= ao@intel.com>; Leif Lindholm <quic_llindhol@quicinc.com>; Liming
> Gao <= gaoliming@byosoft.com.cn>; Maciej Rabeda
> <maciej.rabeda@linux.intel.com>; Michael D Kinney
> <mi= chael.d.kinney@intel.com>; Michael Kubacki
> <= mikuback@linux.microsoft.com>; Nate DeSimone
> <nathaniel.l.desimone@intel.com>; Nickle Wang <nicklew@nvidia.com>;
> Pierre Gondois <pierre.gondois@arm.com>; Rahul Kumar
> <rahul1= .kumar@intel.com>; Ray Han Lim Ng <ray.han.lim.ng@intel.com>;
> Ray Ni <ray.n= i@intel.com>; Sami Mujawar <sami.mujawar@arm.com>; Sean
> Brogan <sean.brogan@microsoft.com>; Sean Rhodes
> <sean@starlabs.systems>; Siyuan Fu <siyuan.fu@intel.com>; Star Zeng
> <star.zeng= @intel.com>; Susovan Mohapatra
> <s= usovan.mohapatra@intel.com>; Ted Kuo <ted.kuo@intel.com>; Wei6 Xu
> <wei6.xu@int= el.com>; Xiaoyu Lu <xiaoyu1.lu@intel.com>; Yi Li
> <yi1.li@intel= .com>; Zhichao Gao <zhichao.gao@intel.com>; Zhiguang Liu
> <zhigua= ng.liu@intel.com>
> =E4=B8=BB=E9=A2=98: [PATCH v1 00/24] Update Edk2-pytools to latest ver= sions
>
> Updates Edk2-pytools to the latest versions, which introduces a new Po= licy
> for detecting which packages must be built given a set of changes. Thi= s
policy
> is used when a library class instance INF is changed. When this occurs= , it
will
> review the PrEval:DscPath provided in the CI YAML file and determine i= f
the
> package uses the library instance or not. If it does, it will build an= d
test
> the package.
>
> Due to these changes, each package must now include an entry in it'= ;s CI
> YAML
> file (PrEval:DscPath). If the package does not provide this entry, thi= s
policy
> will be skipped, which could lead to a library instance breaking packa= ges
> outside
> of it's parent package.
>
> Cc: Abner Chang <abner.chang@amd.com>
> Cc: Alexei Fedorov <Alexei.Fedorov@arm.com>
> Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
> Cc: Ashraf Ali S <ashraf.ali.s@intel.com>
> Cc: Chasel Chiu <chasel.chiu@intel.com>
> Cc: Chen Gang C <gang.c.chen@intel.com>
> Cc: Daniel Schaefer <git@danielschaefer.me>
> Cc: Duggapu Chinni B <chinni.b.duggapu@intel.com>
> Cc: Eric Dong <eric.dong@intel.com>
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> Cc: Guo Dong <guo.dong@intel.com>
> Cc: Guomin Jiang <guomin.jiang@intel.com>
> Cc: Hao A Wu <hao.a.wu@intel.com>
> Cc: Igor Kulchytskyy <igork@ami.com>
> Cc: James Lu <james.lu@intel.com>
> Cc: Jian J Wang <jian.j.wang@intel.com>
> Cc: Jiewen Yao <jiewen.yao@intel.com>
> Cc: Leif Lindholm <quic_llindhol@quicinc.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> Cc: Maciej Rabeda <maciej.rabeda@linux.intel.com>
> Cc: Michael D Kinney <michael.d.kinney@intel.com>
> Cc: Michael Kubacki <mikuback@linux.microsoft.com>
> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
> Cc: Nickle Wang <nicklew@nvidia.com>
> Cc: Pierre Gondois <pierre.gondois@arm.com>
> Cc: Rahul Kumar <rahul1.kumar@intel.com>
> Cc: Ray Han Lim Ng <ray.han.lim.ng@intel.com>
> Cc: Ray Ni <r= ay.ni@intel.com>
> Cc: Sami Mujawar <sami.mujawar@arm.com>
> Cc: Sean Brogan <sean.brogan@microsoft.com>
> Cc: Sean Rhodes <sean@starlabs.systems>
> Cc: Siyuan Fu <siyuan.fu@intel.com>
> Cc: Star Zeng <star.zeng@intel.com>
> Cc: Susovan Mohapatra <susovan.mohapatra@intel.com>
> Cc: Ted Kuo <ted.kuo@intel.com>
> Cc: Wei6 Xu <wei6.xu@intel.com>
> Cc: Xiaoyu Lu <xiaoyu1.lu@intel.com>
> Cc: Yi Li <yi= 1.li@intel.com>
> Cc: Zhichao Gao <zhichao.gao@intel.com>
> Cc: Zhiguang Liu <zhiguang.liu@intel.com>
>
> Joey Vagedes (24):
>=C2=A0 =C2=A0Edk2: edk2-pytools: Update to latest versions
>=C2=A0 =C2=A0UnitTestFrameworkPkg: CI: Add PrEval entry
>=C2=A0 =C2=A0UefiPayloadPkg: CI: Add PrEval entry
>=C2=A0 =C2=A0ArmPkg: CI: Add PrEval entry
>=C2=A0 =C2=A0UefiCpuPkg: CI: Add PrEval entry
>=C2=A0 =C2=A0ArmPlatformPkg: CI: Add PrEval entry
>=C2=A0 =C2=A0CryptoPkg: CI: Add PrEval entry
>=C2=A0 =C2=A0DynamicTablesPkg: CI: Add PrEval entry
>=C2=A0 =C2=A0EmbeddedPkg: CI: Add PrEval entry
>=C2=A0 =C2=A0FatPkg: CI: Add PrEval entry
>=C2=A0 =C2=A0FmpDevicePkg: CI: Add PrEval entry
>=C2=A0 =C2=A0IntelFsp2Pkg: CI: Add PrEval entry
>=C2=A0 =C2=A0CryptoPkg: CI: Add PrEval entry
>=C2=A0 =C2=A0SourceLevelDebugPkg: CI: Add PrEval entry
>=C2=A0 =C2=A0SignedCapsulePkg: CI: Add PrEval entry
>=C2=A0 =C2=A0ShellPkg: CI: Add PrEval entry
>=C2=A0 =C2=A0SecurityPkg: CI: Add PrEval entry
>=C2=A0 =C2=A0RedfishPkg: CI: Add PrEval entry
>=C2=A0 =C2=A0PrmPkg: CI: Add PrEval entry
>=C2=A0 =C2=A0PcAtChipsetPkg: CI: Add PrEval entry
>=C2=A0 =C2=A0NetworkPkg: CI: Add PrEval entry
>=C2=A0 =C2=A0MdePkg: CI: Add PrEval entry
>=C2=A0 =C2=A0MdeModulePkg: CI: Add PrEval entry
>=C2=A0 =C2=A0IntelFsp2WrapperPkg: CI: Add PrEval entry
>
>=C2=A0 ArmPkg/ArmPkg.ci.yaml=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| 3 +++
>=C2=A0 ArmPlatformPkg/ArmPlatformPkg.ci.yaml=C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0| 3 +++
>=C2=A0 CryptoPkg/CryptoPkg.ci.yaml=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| 3 +++
>=C2=A0 DynamicTablesPkg/DynamicTablesPkg.ci.yaml=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0| 3 +++
>=C2=A0 EmbeddedPkg/EmbeddedPkg.ci.yaml=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| 3 +++
>=C2=A0 FatPkg/FatPkg.ci.yaml=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| 3 +++
>=C2=A0 FmpDevicePkg/FmpDevicePkg.ci.yaml=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| 3 +++
>=C2=A0 IntelFsp2Pkg/IntelFsp2Pkg.ci.yaml=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| 3 +++
>=C2=A0 IntelFsp2WrapperPkg/IntelFsp2WrapperPkg.ci.yaml=C2=A0 =C2=A0| 3 = +++
>=C2=A0 MdeModulePkg/MdeModulePkg.ci.yaml=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| 3 +++
>=C2=A0 MdePkg/MdePkg.ci.yaml=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| 3 +++
>=C2=A0 NetworkPkg/NetworkPkg.ci.yaml=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| 3 +++
>=C2=A0 PcAtChipsetPkg/PcAtChipsetPkg.ci.yaml=C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0| 3 +++
>=C2=A0 PrmPkg/PrmPkg.ci.yaml=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| 3 +++
>=C2=A0 RedfishPkg/RedfishPkg.ci.yaml=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| 3 +++
>=C2=A0 SecurityPkg/SecurityPkg.ci.yaml=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| 3 +++
>=C2=A0 ShellPkg/ShellPkg.ci.yaml=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| 3 +++
>=C2=A0 SignedCapsulePkg/SignedCapsulePkg.ci.yaml=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0| 3 +++
>=C2=A0 SourceLevelDebugPkg/SourceLevelDebugPkg.ci.yaml=C2=A0 =C2=A0| 3 = +++
>=C2=A0 StandaloneMmPkg/StandaloneMmPkg.ci.yaml=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0| 3 +++
>=C2=A0 UefiCpuPkg/UefiCpuPkg.ci.yaml=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| 3 +++
>=C2=A0 UefiPayloadPkg/UefiPayloadPkg.ci.yaml=C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0| 3 +++
>=C2=A0 UnitTestFrameworkPkg/UnitTestFrameworkPkg.ci.yaml | 3 +++
>=C2=A0 pip-requirements.txt=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | 4 ++--
>=C2=A0 24 files changed, 71 insertions(+), 2 deletions(-)
>
> --
> 2.41.0.windows.1



--000000000000dc12f005ff1f62b6--