我正在设置我的C ++项目的travis-ci,并希望每个构建有三个不同的作业:
为了实现这一点,我将travis配置为在linux
和osx
上构建,并创建了一个环境变量ARCH
,它被设置为特定的体系结构(例如{{ 1}})或空(对于本机构建)
这是我的.travis.yml:
i386
language: cpp
env:
matrix:
- ARCH=
- ARCH=i386
global:
- secure: ...
os:
- linux
- osx
matrix:
exclude:
- os: linux
before_install:
- ./travis-ci/install-dependencies.sh
script:
- ./travis-ci/build.sh
- 和script
- 脚本设置为尊重before_install
envvar。
现在由于我不知道的原因,当我推送到github时,构建矩阵包括:
ARCH
OS:linux, env:ARCH=
事实上,我得到两份Linux工作。
所以我的OS:linux, env:ARCH=i386
语句似乎被忽略了。
我应该对而不是构建exclude
做什么提示?
答案 0 :(得分:2)
所以似乎问题是,我的特定项目还没有启用 OSX 支持(目前这需要手动完成)。
因此,矩阵的os
轴并不存在。
启用osx
版本后(因此os
轴已正确建立),exclude
语句开始按预期工作。