Limitador de matriz de configuração Jenkins - subconjunto de rótulo

Limitador de matriz de configuração Jenkins - subconjunto de rótulo

Tenho um projeto de configuração de matriz no Jenkins que gostaria de construir em dois eixos:

rótulo -> rhel6,rhel7

definido pelo usuário -> default, devtoolset, clang,icc

Alguns nós são marcados como rhel6e outros são marcados como rhel7. Todos os nós possuem os compiladores default, devtoolsete clanginstalados. No entanto, apenas alguns nós possuem o icccompilador instalado. Eles têm o iccrótulo aplicado a eles. Todos esses nós também possuem o rhel7rótulo: não há rhel6nós com icc. O que devo colocar no Filtro de Combinação para que a icclinha seja construída apenas nos nós com o iccrótulo? Por exemplo, o que eu quero ver é:

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

mas a icclinha não pode ser construída em qualquer rhel7nó, apenas no subconjunto de rhel7nós com o iccrótulo.

Consegui torná-lo tecnicamente funcional adicionando uma coluna de rótulo adicional e a seguinte expressão:

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

mas isso gera o seguinte:

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

o que definitivamente não é tão limpo quanto deveria ser. Alguma ideia?

informação relacionada