如何在没有超时的情况下在Travis CI上安装东西?

时间:2015-02-26 15:14:09

标签: scipy continuous-integration travis-ci

我正在尝试在travis-ci.org上测试一个包构建,但是我遇到了pip install scipy的超时:

Installing collected packages: scipy
  Running setup.py install for scipy
    Running command /home/travis/virtualenv/python2.6.9/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip-build-Fn2gmJ/scipy/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-hWDx9L-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/travis/virtualenv/python2.6.9/include/site/python2.6


No output has been received in the last 10 minutes, this potentially indicates a stalled build or something wrong with the build itself.

The build has been terminated

(摘自最近的build log)。

如何在没有超时的情况下在Travis上构建scipy> = 0.11?

3 个答案:

答案 0 :(得分:17)

解决方案很简单。只需在安装命令前加上 travis_wait 。有关详细信息,请访问https://docs.travis-ci.com/user/common-build-problems

答案 1 :(得分:10)

Travis上的每个命令的默认超时为10分钟,当您仅使用 travis_wait 功能时,超时为20分钟。如果你的构建需要等待超过20分钟,你可以通过几分钟来运行 travis_wait ,例如:

- travis_wait 30 pip install scipy

这是Travis中未记载的功能,但Travis的Hiro Asari在github issue上建议。

答案 2 :(得分:0)

如果使用travis_wait提供的Travis CI等命令并非选项,您也可以使用an approach from here

在我的情况下,我想保持Travis运行,同时在单独的shell脚本中定义步骤,我不知道如何使用Travis提供的命令。上面的方法很顺利(如果有兴趣的话请看the pull request)。