1

I have a matrix configuration project in Jenkins which I would like to build under two axes:

label -> rhel6, rhel7

user-defined -> default, devtoolset, clang, icc

Some nodes are tagged as rhel6 and some are tagged as rhel7. All nodes have the default, devtoolset and clang compilers installed. However, only some nodes have the icc compiler installed. They have the icc label applied to them. All of said nodes also have the rhel7 label: there are no rhel6 nodes with icc. What should I put in the Combination Filter so that the icc row is only built on nodes with the icc label? E.g., what I want to see is:

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

but the icc row cannot be built on just any rhel7 node, only on the subset of rhel7 nodes with the icc label.

I was able to get it technically functional by adding an additional label column and the following expression:

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

but that generates the following:

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

which is definitely not as clean as it should be. Any ideas?

0

You must log in to answer this question.

Browse other questions tagged .