Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

[RFC] Patch building and Webhooks API

Aperta
#307 22 commenti 0 reazioni 0 assegnatari Vedi su GitHub

@yurinnick ci sta già lavorando.

Dal 1/8/2023.

  • #295 di @yurinnick — chiusa senza merge
  • #297 di @yurinnick — aperta
  • #299 di @yurinnick — aperta
  • #2041 di @yurinnick — chiusa senza merge

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

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:

  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)
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

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di kernelci/kernelci-api

Tutte le issue di kernelci/kernelci-api

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.