Hi Laszlo, requirements.txt is not only for CI.
If a developer wants to run the same tests that CI runs locally that also need to install using pip and need this file. Sean responded to this feedback earlier and pointed to some features that may depend on this specific filename or a specific filename pattern. https://edk2.groups.io/g/devel/message/49620 I agree that the pip command supports using a different filename. I considered several options: 1) Keep current requirements.txt in root 2) Change to pip_requirements.txt in root 3) Change to requirements.txt in the .pytool directory I set (3) aside because the use of the python extensions installed using pip are not limited to content in the .pytool directory. There is new content in BaseTools as well that depends on the pip install components. The root directory is the only common parent directory. Given the feedback that there may be some services that look for requirements.txt, I thought it would be better to leave the filename alone and add the file header comment block with a clear description of the file. With this additional context, if there is still feedback that the filename must be changed, then I would recommend a filename change that also follows camel case in the root. PipRequirements.txt Best regards, Mike > -----Original Message----- > From: Laszlo Ersek <ler...@redhat.com> > Sent: Thursday, November 7, 2019 2:40 AM > To: Kinney, Michael D <michael.d.kin...@intel.com>; > devel@edk2.groups.io > Cc: Sean Brogan <sean.bro...@microsoft.com>; Andrew Fish > <af...@apple.com>; Leif Lindholm > <leif.lindh...@linaro.org> > Subject: Re: [Patch v4 03/22] requirements.txt: Add > python pip requirements file > > On 11/07/19 02:13, Michael D Kinney wrote: > > From: Sean Brogan <sean.bro...@microsoft.com> > > > > Add pip requirements file that is used to install the > python pip > > modules build from the edk2-pytool-library and edk2- > pytool-extensions > > repositories. > > > > These python modules provide the extensions required > to perform EDK II > > Continuous Integration(CI) builds. > > > > Cc: Andrew Fish <af...@apple.com> > > Cc: Laszlo Ersek <ler...@redhat.com> > > Cc: Leif Lindholm <leif.lindh...@linaro.org> > > Signed-off-by: Michael D Kinney > <michael.d.kin...@intel.com> > > --- > > requirements.txt | 17 +++++++++++++++++ > > 1 file changed, 17 insertions(+) > > create mode 100644 requirements.txt > > > > diff --git a/requirements.txt b/requirements.txt new > file mode 100644 > > index 0000000000..4ad72cfc98 > > --- /dev/null > > +++ b/requirements.txt > > @@ -0,0 +1,17 @@ > > +## @file > > +# EDK II Python PIP requirements file # # This file > provides the list > > +of python components to install using PIP. > > +# > > +# Copyright (c) Microsoft Corporation. All rights > reserved.<BR> # # > > +SPDX-License-Identifier: BSD-2-Clause-Patent # # > > +https://pypi.org/project/pip/ # > > > +https://pip.pypa.io/en/stable/user_guide/#requirements- > files > > +# > > > +https://pip.pypa.io/en/stable/reference/pip_install/#re > quirements-fil > > +e-format > > +# > > +## > > + > > +edk2-pytool-library==0.10.* > > +edk2-pytool-extensions==0.12.* > > > > This is better, but I still find the plain > "requirements.txt" filename in the root directory of the > project very confusing. What component > *exactly* insists on this file path and file name? > > I've checked > > > https://pip.pypa.io/en/stable/user_guide/#requirements- > files > > and it seems like "pip" can take any pathname as an > argument to option "-r". > > There must be a component in the CI environment that > invokes "pip". Can we file a feature request for that > component, that it try "pip-requirements.txt" first? > > Hmmm... I just googled "github pip requirements.txt", > assuming that "github" was the component calling "pip". > In the result list, I've found: > > https://github.com/ClearingHouse/clearinghoused/blob/mas > ter/pip-requirements.txt > > Is it possible that github already knows to look for > "pip-requirements.txt"? (Honestly I only suggested "pip- > requirements.txt" above because it seemed sensible.) If > that's the case, we should use it. > > > Furthermore, my understanding is that "the list of > python components to install using PIP" is only there > for CI purposes. Can we please state that explicitly in > the comment block? (The commit message already does > that, and that's great.) > > Basically when someone clones edk2 and runs "ls -l" for > the first time, there's a good chance "requirements.txt" > will be among the few files they open right after. > > Thanks! > Laszlo -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#50252): https://edk2.groups.io/g/devel/message/50252 Mute This Topic: https://groups.io/mt/44874051/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-