[RFC] Patch building and Webhooks API
@yurinnick ci sta già lavorando.
Dal 1/8/2023.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 20/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Da chiarire
- Stato di attività
- Ferma
- Stack tecnologico
- git, github, gitlab, python
- Ambito
- api, backend, backend-api-design
Direzione di ricerca
Non vengono indicati file, test o punti di ingresso. Inizia leggendo l’RFC e le relative domande irrisolte di Discussion, quindi mappa le quattro aree di implementazione richieste: il webhook di Patchwork, i metadati delle patch, l’applicazione di mbox e gli aggiornamenti dei check. Il lavoro è completo quando esiste un contratto webhook concordato e sono supportati la compilazione, i test e la segnalazione dei risultati delle patch.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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)
- Lingua principale
- Python
- Stelle
- 10
- Fork
- 21
- Merge medio
- 22m
- PR unite (30g)
- 1
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di kernelci/kernelci-api
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
kernelci/kernelci-api#706 ·
-
Components/Maestro/API/Local instance says GET /latest/ should return some JSON, but it doesn'tForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Apertadocumentation
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
kernelci/kernelci-api#632 · 1 commento ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
kernelci/kernelci-api#629 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
kernelci/kernelci-api#608 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
kernelci/kernelci-api#597 · 2 commenti ·
Tutte le issue di kernelci/kernelci-api
Issue simili
-
first
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
AcademySoftwareFoundation/rmtc#54 · 1 commento ·
-
feature/cohorts feature/feature-flags team/feature-flags
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
I maintainer di solito rispondono entro 1 giorno
-
License examples/ as MITForse già presa @PGrayCS l’ha presa oggi. Apertadocumentation enhancement example good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
speedyk-005/yasbd-lib#383 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
interactions-py/interactions.py#1827 ·
-
Managed start can fail when OpenVMM reads its control capability before NVX writes itForse già presa @ppenna l’ha presa oggi. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno