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:

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