У меня есть проект матричной конфигурации в Jenkins, который я хотел бы построить по двум осям:
метка -> rhel6
,rhel7
определяемый пользователем -> default
, devtoolset
, clang
,icc
Некоторые узлы помечены как , rhel6
а некоторые — как rhel7
. На всех узлах установлены компиляторы default
, devtoolset
и . clang
Однако только на некоторых узлах icc
установлен компилятор. icc
К ним применена метка . Все указанные узлы также имеют метку rhel7
: нет rhel6
узлов с icc
. Что мне следует указать в фильтре комбинирования, чтобы icc
строка была построена только на узлах с icc
меткой ? Например, я хочу увидеть следующее:
Configuration Matrix rhel6 rhel7
default O O
devtoolset O O
clang O O
icc X O
но icc
строка не может быть построена на любом rhel7
узле, а только на подмножестве rhel7
узлов с icc
меткой.
Мне удалось сделать его технически функциональным, добавив дополнительный столбец меток и следующее выражение:
(label=="icc").implies(compiler=="icc") && (compiler=="icc").implies(label=="icc")
но это приводит к следующему:
Configuration Matrix icc rhel6 rhel7
default X O O
devtoolset X O O
clang X O O
icc O X X
что определенно не так чисто, как должно быть. Есть идеи?