[RFC] Patch building and Webhooks API
@yurinnick ya está trabajando en esto.
Desde el 1/8/2023.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 20/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- git, github, gitlab, python
- Área
- api, backend, backend-api-design
Línea de trabajo
No se nombran archivos, pruebas ni puntos de entrada. Empieza leyendo el RFC y sus preguntas sin resolver de Discussion; después, identifica las cuatro áreas de implementación solicitadas: el webhook de Patchwork, los metadatos del parche, la aplicación de mbox y las actualizaciones de checks. Se considera completado cuando exista un contrato de webhook acordado y compatibilidad para compilar, probar e informar de los resultados de los parches.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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)
- Lenguaje dominante
- Python
- Estrellas
- 10
- Forks
- 21
- Merge medio
- 22 min
- PR fusionados (30 d)
- 1
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de kernelci/kernelci-api
-
Optimize node collection indexesAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
kernelci/kernelci-api#706 ·
-
Components/Maestro/API/Local instance says GET /latest/ should return some JSON, but it doesn'tQuizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abiertodocumentation
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
kernelci/kernelci-api#632 · 1 comentario ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
kernelci/kernelci-api#629 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
kernelci/kernelci-api#608 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
kernelci/kernelci-api#597 · 2 comentarios ·
Todos los issues de kernelci/kernelci-api
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
topoteretes/cognee#5647 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Sendspin/sendspin-python-cli#291 ·
Los mantenedores suelen responder en 6 días
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
awslabs/visual-asset-management-system#414 ·
Los mantenedores suelen responder en 1 día
-
bug v1 v2
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
modelcontextprotocol/python-sdk#3670 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
aicell-lab/bioengine#232 ·
Los mantenedores suelen responder en 1 día