[WIP] Apply patches from Patchwork payload#295
[WIP] Apply patches from Patchwork payload#295yurinnick wants to merge 1 commit intokernelci:mainfrom
Conversation
Signed-off-by: Nikolay Yurin <yurinnick@meta.com>
c4cf563 to
7379504
Compare
|
Where is the Patchwork data coming from? In other words, would be sending a Node object with that data to the API? |
gctucker
left a comment
There was a problem hiding this comment.
One issue there is the git describe, as it will be different every time the patches get applied. It's meant to be the Git revision from the upstream repository, in this case it won't refer to anything usable with the patches added as local commits.
This is the part we need to clarify I think. Initially, we could just keep the git describe and sha1 values as the base revision from the repository. Then a child node could be added with meta-data about the patchset and a new tarball with the patches applied for example. There are different ways to design this, it's important because of the .revision field which is part of the Node schema. So we can't keep everything in .data as reporting will be confusing with mismatching git revisions.
I'll create a GitHub issue to cover this part, then once we have at least one functional implementation we can revisit this PR and update it accordingly. Looking at how KCIDB is handling patchsets should also help there, like we discussed in the meeting last Wednesday.
|
So should we extend
This way we'll store unique pair of base commit revision and patchset hash in the |
|
Yes I think the patches have to be part of the revision data and not just some extra arbitrary data. It would ideally need to be compatible with KCIDB, either by using the exact same schema and mechanism or by having a clear translation mechanism. There are different ways to implement this, and I think it can be done incrementally. I'll post some comments on kernelci/kernelci-api#307 |
|
Replace it with |
Fixes kernelci/kernelci-api#307
Depends on kernelci/kernelci-core#2041
Looks up for Patchwork payload in
node.dataand apply patches by mbox url before packaging tree into a tarball.We expect following minimal structure for Patchwork payload:
Test run logs: