Open
Description
Webhook API should help to integrate KernelCI
with patch management (Patchwork) and version control systems (Github, Gitlab). It will provide interface to trigger non-upstream patch builds that should be able to publish results back later.
Implementation
As the first step, I'd like to implement Patchwork integration with KernelCI. Following changes should be implemented:
- Add
/webhooks/patchwork
API that will expect certain (TBD) input from Patchwork side, enough to build and test kernel, and report back results - Extend
kernelci.Node
,KernelBuildMetadata
,kernelci.config.Tree
with patch-related fields - Implement patch mbox application on top of git checkout
- Implement Patchwork patch checks update mechanism
Minimal patch information
We need a patch and all dependent patches information, as well as submitter information for email notifications.
{
"patches": [
{
"patchwork_id": "str",
"hash": "str",
"web_url": "str",
"date": "str",
"mbox": "str"
}
],
"submitter": {
"id": "int",
"url": "str",
"name": "str",
"email": "str"
}
}
Discussion
- How to make patches information generic enough to share across multiple systems? Should we make it generic at all?
- How to pass Patchwork specific metadata into
Node
?data
field or a separate field? - Calculating and passing revision information
- What data should we expect in
/webhooks/patchwork
? (Collaboration with Patchwork developers)
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
Todo