[RFC] Patch building and Webhooks API
@yurinnick arbeitet bereits daran.
Seit 01.8.2023.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 20/100
- Issue-Typ
- Feature
- Klarheit
- Muss geklärt werden
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- git, github, gitlab, python
- Bereich
- api, backend, backend-api-design
Rechercherichtung
Es werden keine Dateien, Tests oder Einstiegspunkte genannt. Beginne damit, den RFC und seine offenen Discussion-Fragen zu lesen, und ordne dann die vier angeforderten Implementierungsbereiche zu: den Patchwork-Webhook, Patch-Metadaten, die mbox-Anwendung und Check-Aktualisierungen. Als abgeschlossen gilt die Arbeit, wenn ein abgestimmter Webhook-Vertrag sowie Unterstützung für das Erstellen, Testen und Melden von Patch-Ergebnissen vorhanden sind.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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)
- Vorherrschende Sprache
- Python
- Sterne
- 10
- Forks
- 21
- Ø Merge
- 22 Min.
- Gemergte PRs (30 T.)
- 1
Entwicklungsumgebung
- Enthält ein Dockerfile oder eine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Kein Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus kernelci/kernelci-api
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
kernelci/kernelci-api#706 ·
-
Components/Maestro/API/Local instance says GET /latest/ should return some JSON, but it doesn'tEvtl. wieder frei Ein Pull Request dazu wurde ohne Merge geschlossen. Offendocumentation
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 35/100
kernelci/kernelci-api#632 · 1 Kommentar ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 20/100
kernelci/kernelci-api#629 ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
kernelci/kernelci-api#608 ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 35/100
kernelci/kernelci-api#597 · 2 Kommentare ·
Alle Issues in kernelci/kernelci-api
Ähnliche Issues
-
Performance: deprecated DeviceEntry.config_entries access blocks the event loop for tens of secondsOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
tuya/tuya_cloud_ha_bridge#14 ·
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
semantica-agi/semantica#1968 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
Maintainer antworten meist innerhalb von 1 Tag
-
agent: ready area: submission priority: high type: docs
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
dkritarth/scopewatch#213 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Broken link in RELEASE.mdEvtl. vergeben @Jah-yee hat das heute übernommen. Offen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
sphinx-contrib/httpdomain#143 ·
Maintainer antworten meist innerhalb von 1 Tag