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)
Webhook API should help to integrate
KernelCIwith 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:
/webhooks/patchworkAPI that will expect certain (TBD) input from Patchwork side, enough to build and test kernel, and report back resultskernelci.Node,KernelBuildMetadata,kernelci.config.Treewith patch-related fieldsMinimal patch information
We need a patch and all dependent patches information, as well as submitter information for email notifications.
Discussion
Node?datafield or a separate field?/webhooks/patchwork? (Collaboration with Patchwork developers)