travis-ci:matrix.exclude被忽略了?

时间:2014-12-02 19:55:25

标签: travis-ci

我正在设置我的C ++项目的travis-ci,并希望每个构建有三个不同的作业:

  • linux(native = 64bit)
  • osx / 64bit(native)
  • OSX / 32位

为了实现这一点,我将travis配置为在linuxosx上构建,并创建了一个环境变量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做什么提示?

1 个答案:

答案 0 :(得分:2)

所以似乎问题是,我的特定项目还没有启用 OSX 支持(目前这需要手动完成)。 因此,矩阵的os轴并不存在。

启用osx版本后(因此os轴已正确建立),exclude语句开始按预期工作。

相关问题