Limitador de matriz de configuración de Jenkins: subconjunto de etiqueta

Limitador de matriz de configuración de Jenkins: subconjunto de etiqueta

Tengo un proyecto de configuración matricial en Jenkins que me gustaría construir bajo dos ejes:

etiqueta -> rhel6,rhel7

definido por el usuario -> default, devtoolset, clang,icc

Algunos nodos están etiquetados como rhel6y otros como rhel7. Todos los nodos tienen instalados los compiladores defaulty devtoolset. clangSin embargo, sólo algunos nodos tienen el icccompilador instalado. Tienen la iccetiqueta aplicada. Todos dichos nodos también tienen la rhel7etiqueta: no hay rhel6nodos con icc. ¿Qué debo poner en el filtro combinado para que la iccfila solo se construya en nodos con la iccetiqueta? Por ejemplo, lo que quiero ver es:

Configuration Matrix      rhel6  rhel7
                 default      O      O
              devtoolset      O      O
                   clang      O      O
                     icc      X      O

pero la iccfila no se puede construir en cualquier rhel7nodo, sólo en el subconjunto de rhel7nodos con la iccetiqueta.

Pude hacerlo técnicamente funcional agregando una columna de etiqueta adicional y la siguiente expresión:

(label=="icc").implies(compiler=="icc") && (compiler=="icc").implies(label=="icc")

pero eso genera lo siguiente:

Configuration Matrix        icc  rhel6  rhel7
                 default      X      O      O
              devtoolset      X      O      O
                   clang      X      O      O
                     icc      O      X      X

que definitivamente no está tan limpio como debería estar. ¿Algunas ideas?

información relacionada