Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

[RFC] Patch building and Webhooks API

Đang mở
#307 22 bình luận 0 reaction 0 người được giao Xem trên GitHub

@yurinnick đang làm issue này rồi.

Từ ngày 1/8/2023.

  • #295 của @yurinnick — đã đóng, không merge
  • #297 của @yurinnick — đang mở
  • #299 của @yurinnick — đang mở
  • #2041 của @yurinnick — đã đóng, không merge

Đá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

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:

  1. Add /webhooks/patchwork API that will expect certain (TBD) input from Patchwork side, enough to build and test kernel, and report back results
  2. Extend kernelci.Node, KernelBuildMetadata, kernelci.config.Tree with patch-related fields
  3. Implement patch mbox application on top of git checkout
  4. 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)
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

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của kernelci/kernelci-api

Tất cả issue của kernelci/kernelci-api

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.