[RFC] Patch building and Webhooks API
@yurinnick đang làm issue này rồi.
Từ ngày 1/8/2023.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 20/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- git, github, gitlab, python
- Lĩnh vực
- api, backend, backend-api-design
Hướng nghiên cứu
Không có tệp, bài kiểm thử hoặc điểm vào nào được nêu tên. Hãy bắt đầu bằng cách đọc RFC và các câu hỏi Discussion chưa được giải quyết, sau đó lập bản đồ bốn khu vực triển khai được yêu cầu: webhook của Patchwork, siêu dữ liệu bản vá, việc áp dụng mbox và các cập nhật check. Công việc được xem là hoàn tất khi có một hợp đồng webhook đã được thống nhất và có hỗ trợ cho việc xây dựng, kiểm thử và báo cáo kết quả bản vá.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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/patchworkAPI 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.Treewith 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?datafield or a separate field? - Calculating and passing revision information
- What data should we expect in
/webhooks/patchwork? (Collaboration with Patchwork developers)
- Ngôn ngữ chính
- Python
- Star
- 10
- Fork
- 21
- Merge trung bình
- 22 phút
- Pull request đã merge (30 ngày)
- 1
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Không có mẫu pull request
- Không có hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của kernelci/kernelci-api
-
Optimize node collection indexesĐang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
kernelci/kernelci-api#706 ·
-
Components/Maestro/API/Local instance says GET /latest/ should return some JSON, but it doesn'tCó thể làm lại được Pull request cho issue này đã bị đóng mà không được merge. Đang mởdocumentation
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 35/100
kernelci/kernelci-api#632 · 1 bình luận ·
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 20/100
kernelci/kernelci-api#629 ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
kernelci/kernelci-api#608 ·
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 35/100
kernelci/kernelci-api#597 · 2 bình luận ·
Tất cả issue của kernelci/kernelci-api
Issue tương tự
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
Deepak3699/Ai_Mentor#244 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
btclib-org/btclib-node#1880 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
CONTRIBUTING.md: say how ticketless bug fixes and feature PRs are handledCó thể đã có người làm @khuisman đã nhận hôm nay. Đang mởv0.9.2
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 84/100
khuisman/mcp-gee-sweet#941 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
pyjanitor-devs/pyjanitor#1758 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug ready for review
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 86/100
odysseus-dev/odysseus#6641 ·
Maintainer thường phản hồi trong vòng 1 ngày