Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

[RFC] Patch building and Webhooks API

Ouverte
#307 22 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

@yurinnick y travaille déjà.

Depuis le 1/8/2023.

  • #295 par @yurinnick — fermée sans fusion
  • #297 par @yurinnick — ouverte
  • #299 par @yurinnick — ouverte
  • #2041 par @yurinnick — fermée sans fusion

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
20/100
Type d'issue
Fonctionnalité
Clarté
À clarifier
Activité
À l'abandon
Stack technique
git, github, gitlab, python

Piste de recherche

Aucun fichier, test ou point d’entrée n’est nommé. Commencez par lire le RFC et ses questions non résolues de Discussion, puis recensez les quatre domaines d’implémentation demandés : le webhook Patchwork, les métadonnées des patchs, l’application de mbox et les mises à jour des checks. Le travail est terminé lorsqu’un contrat de webhook accepté d’un commun accord est défini et que la construction, les tests et le signalement des résultats des patchs sont pris en charge.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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)
Langage dominant
Python
Étoiles
10
Forks
21
Merge moyen
22 min
PR mergées (30 j)
1

Préparer son environnement

  • Fournit un Dockerfile ou un fichier Docker Compose
  • Aucun modèle de pull request
  • Aucun guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de kernelci/kernelci-api

Toutes les issues de kernelci/kernelci-api

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.