在travis.ci文件中支持两种语言

时间:2017-03-23 21:02:05

标签: travis-ci

我正在构建一个主要是c ++代码的python包(想想numpy)

我的travis文件目前是

language: cpp
compiler:
  - gcc
  - clang
os:
  - linux
  - osx
dist: trusty

script: "make pcst_fast_test && ./pcst_fast_test"

notifications: 
...

但我也在一个名为test_pcst_fast.py的文件中编写了一些python测试。有没有办法从travis中调用那些?

对于whether travis supports multiple languages in one file来说似乎含糊不清,但似乎大多数人都拒绝了,尽管只在language标签下列出了一种语言。

2 个答案:

答案 0 :(得分:4)

Travis目前还不支持多种语言。

查看类别after_successafter_script in the Travis build lifecycle docs

此外,您可以添加更多构建脚本,它们将独立运行,只需按以下方式列出:

script:
    - "make pcst_fast_test && ./pcst_fast_test"
    - "./test_pcst_fast.py"

如果没有安装python(不确定c版本),你可以安装它,看看这个.travis.yml,它会安装自定义python解释器作为依赖。

答案 1 :(得分:0)

您无法添加多种语言,这可以解释您所看到的行为,而node_js设置只能在节点语言项目中识别。

您可以做的是在TravisCI中使用合并的nvm。

例如,您可以包含

  • nvm install 0.10

  • nvm使用0.10

在您的before_install部分中

下载节点的最新v0.10.x版本。

然而,

在Travis Java构建环境中,您可以使用nvm来管理Node.js运行时:

.travis.yml

language: java

jdk:
  - oraclejdk8

env:
  - NODE_VERSION="0.12"

before_install:
  - nvm install $NODE_VERSION

如果你的Node版本是最新的,你可能也需要更新nvm。

要更新nvm,请将此内容写入.travis.yml:

before_install:
  - wget https://raw.githubusercontent.com/creationix/nvm/v0.31.0/nvm.sh -O ~/.nvm/nvm.sh
  - source ~/.nvm/nvm.sh
  - nvm install 5 # for Node v5
  - node --version

上面的示例显示了如何首先更新到nvm v0.31,然后获取Node v5。