2014-12-02 13 views
2

我設立特拉維斯慈形成我的C++ - 項目,希望讓每個構建三種不同的工作:travis-ci:matrix.exclude忽略?

  • 的linux(本地= 64)
  • OSX/64(原生)
  • OSX/32位

實現這一點,我已經配置特拉維斯建立在linuxosx,並創建了一個環境現狀可變ARCH被設置或者到特定架構(例如i386)或空(原生版本)

這裏是我的.travis.yml:

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 -scripts是設置兌現ARCH ENVVAR。

現在原因不明給我,當我推到github上,構建矩陣包括:

  • OS:linux, env:ARCH=
  • OS:linux, env:ARCH=i386

,事實上,我得到了Linux的兩個作業。 所以看起來我的exclude語句被忽略。

任何提示我應該怎麼做不是建立linux/ARCH=i386

回答

1

因此,似乎問題是,我的特定項目還沒有啓用支持(目前需要手動完成)OSG支持。因此矩陣的os軸並不存在。

一旦osx版本啓用(因此os軸已正確建立),exclude語句開始按預期工作。