Gating
Enable Gating
La activación de los paquetes en base al resultado de las pruebas está ahora habilitada bajo demanda. Si desea activar la compuerta para su componente cree un nuevo fichero gating.yaml
en la directorio raíz del git de distribución del paquete con el siguiente contenido:
Habilitar la puerta al repositorio de prueba:
--- !Politica versiones_producto: - fedora-* contextos_decisión: [bodhi_update_push_testing] tipo_sujeto: reglas koji_build : - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
Habilitar puerta para repositorio estándar (use esto para rawhide):
--- !Politica versiones_producto: - fedora-* contextos_decisión: [bodhi_update_push_stable] tipo_sujeto: reglas koji_build: - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
Con el objetivo de habilitar ambas puertas, concatene simplemente ambos ejemplos de arriba. |
Para añadir otro texto solo extienda la lista rules con !PassingTestCaseRule adicional.
|
Esto permitirá la activación de puertas para todas revisiones basadas en el resultado del CI Pipeline. Un contexto de decisión identifica un conjunto de reglas usadas para una compilación especifica. Por ejemplo, el contexto de decisión bodhi_update_push_stable
se usa para compilar compilaciones de RPM builds en las actualizaciones de Bodhi antes de llegar al repositorio estable.
Los contextos de decisión
coincidirán tanto en el archivo de reglas remotas como en la política en la configuración Greenwave (al menos un contesto de decisión). Las reglas definen los casos de prueba resultsdb que deberían ser considerados para la decisión de activación, en este caso fedora-ci.koji-build.tier0.functional
que son las pruebas que se ejecutan en el CI en base a la configuración en tmt or STI configuration en el dist-git del paquete. Si no se requieren pruebas para las reglas del contexto de decisión concreto debería establecerse una lista vacía, por ejemplo: rules:[]
, de otro modo Greenwave devolverá que no puede encontrar ninguna política aplicable.
Se pueden habilitar las siguientes pruebas Fedora CI para gating:
-
fedora-ci.koji-build.tier0.functional - pruebas específicas del componente habilitadas usado tmt o STI en dist-git
-
fedora-ci.koji-build.rpmdeplint.functional - para asegurar que las dependencias de la actualización están disponibles
-
fedora-ci.koji-build.rpminspect.static-analysis - para comprobar la cordura del paquete incluida la estabilidad ABI
-
fedora-ci.koji-build.installability.functional - para asegurarse de que la instalación / actualización del paquete funcione bien
Vea Políticas específicas de paquete de Greenwave para detalles mas técnicos sobre establecimiento de política.
Using Multiple Plans
If you are using multiple tmt plans it is also possible to enable gating for selected plans only. Instead of the generic tier0
type use the name of the desired plan in the resultsdb testcase name:
!PassingTestCaseRule {test_case_name: fedora-ci.koji-build.<plan-name>.functional}
For example, rule used to enable gating for the /plans/basic
plan would look like this:
!PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/basic.functional}
Before the above-mentioned rules can be used, separate plan reporting has to be enabled. See the Multiple Plans section for details.
Renuncia
Si el resultado fallido de la prueba es irrelevante usted puede renunciar usando la Interfaz web Bodhi o directamente desde la línea de comandos:
# Listar resultados de pruebas bloqueados bodhi updates waive <id> --show
# Especificar a que pruebas renuncias por medio de: bodhi updates waive <id> --test="dist.rpmlint" --test="atomic-ci" "Comentario explicando la renuncia"
# Renunciar a todas las pruebas: bodhi updates waive <id> --test=all "Comentario explicando la renuncia"
Mientras que el IU web solo permite renunciar a todas las pruebas, la línea de comandos provee de una manera de seleccionar las pruebas a las que desearía renunciar.
Vinculos
-
Greenwave … servicio para evaluar las políticas de compuerta en base a los resultados de las pruebas
-
ResultsDB … motor de almacenamiento de resultados
-
WaiverDB … servicio para registrar exenciones contra resultados de las pruebas
-
Paquete de políticas específicas de Greenwave
-
Implementa la posibilidad de renunciar a los requisitos que falten por medio de bodhi-cli
Want to help? Learn how to contribute to Fedora Docs ›