Travis-ci C语言构建矩阵

时间:2017-11-20 13:12:31

标签: c build travis-ci

我为我的GitHub存储库设置了Travis-CI配置文件。

目前使用Travis-CI的主要目的是避免每次推送时测试不同目标的构建,所以在" .travis.yml"的脚本部分中。文件我设置了以下脚本:

    script:
  - make V=1
  - make clean V=1
  - make
  - make clean
  - make bin
  - make clean_x V=1
  - make x V=1
  - make clean_x
  - make x

使用此脚本部分,所有内容都按顺序构建1个作业(目前正确),但它可能会导致状态污染,因为一个目标编译的结果可能取决于之前构建的文件的状态。

为了避免这种情况,并且为了提高构建效率,我想使用具有不同目标的构建矩阵,但是从文档中看似不可能。

有可能吗?你会怎么做?

祝你好运, 甲

1 个答案:

答案 0 :(得分:0)

我自己通过使用" env"解决了这个问题。和这样的变量:

# Test different make targets
env:
 - COMMAND="V=1"
 - COMMAND="bin"
 - COMMAND="bin clean"
 - COMMAND=""
 - COMMAND="all"
 - COMMAND="clean"
 - COMMAND="lib x"
 - COMMAND="lib x V=1"
 - COMMAND="bin clean_x x V=1"

script:
  - make $COMMAND