Можно ли укоротить матрицу сборки Travis CI? - PullRequest
0 голосов
/ 11 марта 2019

Я хочу протестировать свой проект с:

php:
    - 5.5
    - 5.6
    - 7.0
    - 7.1
    - 7.2
    - 7.3

env:
    - SYMFONY_VERSION='3.0.*' dependencies=lowest
    - SYMFONY_VERSION='4.0.*'
    - SYMFONY_VERSION='4.1.*'
    - SYMFONY_VERSION='4.2.*'

... но некоторые комбинации матриц (6 x 4 = 24 строки) не имеет смысла (т.е. Symfony 4.0. * Не может быть установлен с PHP 5.5).

Я использую следующее, и оно работает: есть ли способ «укоротить» этот список? Может быть, регулярное выражение или что-то подобное?

matrix:
    exclude:
        - php: 5.5
          env: SYMFONY_VERSION='4.0.*'
        - php: 5.5
          env: SYMFONY_VERSION='4.1.*'
        - php: 5.5
          env: SYMFONY_VERSION='4.2.*'
        - php: 5.6
          env: SYMFONY_VERSION='4.0.*'
        - php: 5.6
          env: SYMFONY_VERSION='4.1.*'
        - php: 5.6
          env: SYMFONY_VERSION='4.2.*'
        - php: 7.0
          env: SYMFONY_VERSION='4.2.*'
        - php: 7.0
          env: SYMFONY_VERSION='4.1.*'
        - php: 7.0
          env: SYMFONY_VERSION='4.0.*'

1 Ответ

0 голосов
/ 03 апреля 2019

Его можно сократить, свернув матрицу (так что вам не нужно ничего исключать) и включив дополнительные задания, для которых требуется более низкая версия php. Например. нижеприведенный фрагмент даст вам тот же набор заданий, что и в вашем примере:

php:
    - 7.1
    - 7.2
    - 7.3

env:
    - SYMFONY_VERSION='3.0.*' dependencies=lowest
    - SYMFONY_VERSION='4.0.*'
    - SYMFONY_VERSION='4.1.*'
    - SYMFONY_VERSION='4.2.*'

matrix:
    include:
        - php: 5.5
          env: SYMFONY_VERSION='3.0.*' dependencies=lowest
        - php: 5.6
          env: SYMFONY_VERSION='3.0.*' dependencies=lowest
        - php: 7.0
          env: SYMFONY_VERSION='3.0.*' dependencies=lowest
...