Travis CI构建矩阵可以“缩短”吗?

时间:2019-03-11 20:31:34

标签: travis-ci

我要使用以下项目测试我的项目:

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 :(得分:0)

可以通过最小化矩阵(因此您不需要排除任何东西)并包括需要较低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