mbox series

[0/4] patchtest: add to oe-core

Message ID 20231016194458.2243201-1-tgamblin@baylibre.com
Headers show
Series patchtest: add to oe-core | expand

Message

Trevor Gamblin Oct. 16, 2023, 7:44 p.m. UTC
Add the patchtest core tools and supporting scripts to
openembedded-core. This will enable users to validate their changes
locally against the repository before submission to the mailing list,
reducing maintainer overhead and encouraging more consistent use of
important patch tags and information. Note that there are a few elements
of the tooling that are still under development, namely the
patchtest-send-results script, which is currently hard-coded to mail
test results to test-list@lists.yoctoproject.org (and only that list),
while in the future it may be adjusted to directly reply to user
submissions.

A scripts/patchtest.README file is included for basic instructions on
how to use patchtest, as well as for submitting fixes should any bugs be
identified. The Yocto Project Contributor Guide will receive a single,
corresponding patch to provide similar details on why and how to use
patchtest. Finally, the patchtest layer itself will be reduced to only
those pieces that are required for building the core-image-patchtest
image, which makes special adjustments to kernel configurations and
initscripts that are only suitable for automation, and therefore outside
the scope of most contributors' usage.

Trevor Gamblin (4):
  patchtest/requirements.txt: update
  patchtest: add supporting modules
  patchtest: add scripts to oe-core
  patchtest: set default repo and testdir targets

 meta/lib/patchtest/data.py          | 100 ++++++++++++
 meta/lib/patchtest/patch.py         |  73 +++++++++
 meta/lib/patchtest/repo.py          | 185 ++++++++++++++++++++++
 meta/lib/patchtest/requirements.txt |   2 +
 meta/lib/patchtest/utils.py         | 179 +++++++++++++++++++++
 scripts/patchtest                   | 233 ++++++++++++++++++++++++++++
 scripts/patchtest-get-branch        |  92 +++++++++++
 scripts/patchtest-get-series        | 125 +++++++++++++++
 scripts/patchtest-send-results      |  93 +++++++++++
 scripts/patchtest-setup-sharedir    |  95 ++++++++++++
 scripts/patchtest.README            | 156 +++++++++++++++++++
 11 files changed, 1333 insertions(+)
 create mode 100644 meta/lib/patchtest/data.py
 create mode 100644 meta/lib/patchtest/patch.py
 create mode 100644 meta/lib/patchtest/repo.py
 create mode 100644 meta/lib/patchtest/utils.py
 create mode 100755 scripts/patchtest
 create mode 100755 scripts/patchtest-get-branch
 create mode 100755 scripts/patchtest-get-series
 create mode 100755 scripts/patchtest-send-results
 create mode 100755 scripts/patchtest-setup-sharedir
 create mode 100644 scripts/patchtest.README

Comments

Michael Opdenacker Oct. 17, 2023, 3:45 p.m. UTC | #1
Hi Trevor

On 16.10.23 at 21:44, Trevor Gamblin wrote:
> Add the patchtest core tools and supporting scripts to
> openembedded-core. This will enable users to validate their changes
> locally against the repository before submission to the mailing list,
> reducing maintainer overhead and encouraging more consistent use of
> important patch tags and information. Note that there are a few elements
> of the tooling that are still under development, namely the
> patchtest-send-results script, which is currently hard-coded to mail
> test results to test-list@lists.yoctoproject.org (and only that list),
> while in the future it may be adjusted to directly reply to user
> submissions.
>
> A scripts/patchtest.README file is included for basic instructions on
> how to use patchtest, as well as for submitting fixes should any bugs be
> identified. The Yocto Project Contributor Guide will receive a single,
> corresponding patch to provide similar details on why and how to use
> patchtest. Finally, the patchtest layer itself will be reduced to only
> those pieces that are required for building the core-image-patchtest
> image, which makes special adjustments to kernel configurations and
> initscripts that are only suitable for automation, and therefore outside
> the scope of most contributors' usage.
>
> Trevor Gamblin (4):
>    patchtest/requirements.txt: update
>    patchtest: add supporting modules
>    patchtest: add scripts to oe-core
>    patchtest: set default repo and testdir targets
>
>   meta/lib/patchtest/data.py          | 100 ++++++++++++
>   meta/lib/patchtest/patch.py         |  73 +++++++++
>   meta/lib/patchtest/repo.py          | 185 ++++++++++++++++++++++
>   meta/lib/patchtest/requirements.txt |   2 +
>   meta/lib/patchtest/utils.py         | 179 +++++++++++++++++++++
>   scripts/patchtest                   | 233 ++++++++++++++++++++++++++++
>   scripts/patchtest-get-branch        |  92 +++++++++++
>   scripts/patchtest-get-series        | 125 +++++++++++++++
>   scripts/patchtest-send-results      |  93 +++++++++++
>   scripts/patchtest-setup-sharedir    |  95 ++++++++++++
>   scripts/patchtest.README            | 156 +++++++++++++++++++
>   11 files changed, 1333 insertions(+)
>   create mode 100644 meta/lib/patchtest/data.py
>   create mode 100644 meta/lib/patchtest/patch.py
>   create mode 100644 meta/lib/patchtest/repo.py
>   create mode 100644 meta/lib/patchtest/utils.py
>   create mode 100755 scripts/patchtest
>   create mode 100755 scripts/patchtest-get-branch
>   create mode 100755 scripts/patchtest-get-series
>   create mode 100755 scripts/patchtest-send-results
>   create mode 100755 scripts/patchtest-setup-sharedir
>   create mode 100644 scripts/patchtest.README

Thanks for this!

I tried "patchtest --patch" with the attached patch, which had its 
"Signed-off-by" line intentionally removed.
However, it didn't find the issue (see the attached log).

Did I miss anything in the way I use it?
Thanks again
Michael.
Trevor Gamblin Oct. 17, 2023, 4:20 p.m. UTC | #2
On 2023-10-17 11:45, Michael Opdenacker wrote:
> Hi Trevor
>
> On 16.10.23 at 21:44, Trevor Gamblin wrote:
>> Add the patchtest core tools and supporting scripts to
>> openembedded-core. This will enable users to validate their changes
>> locally against the repository before submission to the mailing list,
>> reducing maintainer overhead and encouraging more consistent use of
>> important patch tags and information. Note that there are a few elements
>> of the tooling that are still under development, namely the
>> patchtest-send-results script, which is currently hard-coded to mail
>> test results to test-list@lists.yoctoproject.org (and only that list),
>> while in the future it may be adjusted to directly reply to user
>> submissions.
>>
>> A scripts/patchtest.README file is included for basic instructions on
>> how to use patchtest, as well as for submitting fixes should any bugs be
>> identified. The Yocto Project Contributor Guide will receive a single,
>> corresponding patch to provide similar details on why and how to use
>> patchtest. Finally, the patchtest layer itself will be reduced to only
>> those pieces that are required for building the core-image-patchtest
>> image, which makes special adjustments to kernel configurations and
>> initscripts that are only suitable for automation, and therefore outside
>> the scope of most contributors' usage.
>>
>> Trevor Gamblin (4):
>>    patchtest/requirements.txt: update
>>    patchtest: add supporting modules
>>    patchtest: add scripts to oe-core
>>    patchtest: set default repo and testdir targets
>>
>>   meta/lib/patchtest/data.py          | 100 ++++++++++++
>>   meta/lib/patchtest/patch.py         |  73 +++++++++
>>   meta/lib/patchtest/repo.py          | 185 ++++++++++++++++++++++
>>   meta/lib/patchtest/requirements.txt |   2 +
>>   meta/lib/patchtest/utils.py         | 179 +++++++++++++++++++++
>>   scripts/patchtest                   | 233 ++++++++++++++++++++++++++++
>>   scripts/patchtest-get-branch        |  92 +++++++++++
>>   scripts/patchtest-get-series        | 125 +++++++++++++++
>>   scripts/patchtest-send-results      |  93 +++++++++++
>>   scripts/patchtest-setup-sharedir    |  95 ++++++++++++
>>   scripts/patchtest.README            | 156 +++++++++++++++++++
>>   11 files changed, 1333 insertions(+)
>>   create mode 100644 meta/lib/patchtest/data.py
>>   create mode 100644 meta/lib/patchtest/patch.py
>>   create mode 100644 meta/lib/patchtest/repo.py
>>   create mode 100644 meta/lib/patchtest/utils.py
>>   create mode 100755 scripts/patchtest
>>   create mode 100755 scripts/patchtest-get-branch
>>   create mode 100755 scripts/patchtest-get-series
>>   create mode 100755 scripts/patchtest-send-results
>>   create mode 100755 scripts/patchtest-setup-sharedir
>>   create mode 100644 scripts/patchtest.README
>
> Thanks for this!
>
> I tried "patchtest --patch" with the attached patch, which had its 
> "Signed-off-by" line intentionally removed.
> However, it didn't find the issue (see the attached log).
>
> Did I miss anything in the way I use it?

Hi Michael,

This is a little odd, I can't reproduce what you're seeing even with a 
fresh checkout of poky, so I'm wondering if maybe it's because Python 
modules are missing on the host. However, patchtest is currently only 
designed to work properly with oe-core patches, and trying to point it 
at yocto-docs will cause a failure because it expects the 
yocto-docs/scripts/lib path to exist for use (normally it will look in 
openembedded-core/scripts/lib for a few modules). This is one of the 
things I want to improve now that it's working again. In the meantime, 
This is some important info for the docs I had missed, so I'll send a 
patch with clarification about where patchtest can be used.

- Trevor

> Thanks again
> Michael.
>