[RFC] Patch building and Webhooks API
@yurinnick がすでに取り組んでいます。
2023年8月1日 から。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 20/100
- issue の種類
- 機能追加
- 明瞭さ
- 説明が足りない
- 活発さ
- 停滞
- 技術スタック
- git, github, gitlab, python
- 領域
- api, backend, backend-api-design
調査の方向性
ファイル、テスト、エントリーポイントは指定されていません。まず RFC とその未解決の Discussion の質問を読み、次に要求された 4 つの実装領域、つまり Patchwork webhook、パッチメタデータ、mbox の適用、check の更新を整理してください。完了の条件は、合意された webhook コントラクトと、パッチ結果のビルド、テスト、報告をサポートすることです。
索引モデルが issue の本文から書いたものです。
説明
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)
- 主要言語
- Python
- スター
- 10
- フォーク
- 21
- 平均マージ
- 22分
- マージ済み PR(30日)
- 1
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートなし
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
kernelci/kernelci-api のほかの issue
-
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
kernelci/kernelci-api#706 ·
-
Components/Maestro/API/Local instance says GET /latest/ should return some JSON, but it doesn't再び着手できるかも このイシューのプルリクエストはマージされずにクローズされました。 オープンdocumentation
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
kernelci/kernelci-api#632 · コメント 1 件 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 20/100
kernelci/kernelci-api#629 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
kernelci/kernelci-api#608 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
kernelci/kernelci-api#597 · コメント 2 件 ·
kernelci/kernelci-api の issue をすべて見る
似ている issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
topoteretes/cognee#5647 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
Sendspin/sendspin-python-cli#291 ·
メンテナーはふだん 6 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
awslabs/visual-asset-management-system#414 ·
メンテナーはふだん 1 日以内に返信
-
bug v1 v2
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
modelcontextprotocol/python-sdk#3670 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
aicell-lab/bioengine#232 ·
メンテナーはふだん 1 日以内に返信