Как я могу установить что-то на 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

(извлечение из недавнего журнала ).

Как я могу создать scipy >= 0.11 на Travis без тайм-аута?

Ответы

Ответ 1

Решение простое. просто добавьте к команде установки префикс travis_wait. Более подробная информация доступна на https://docs.travis-ci.com/user/common-build-problems.

Ответ 2

Время ожидания по умолчанию для каждой команды в Travis составляет 10 минут, а когда вы используете функцию travis_wait, время ожидания составляет 20 минут. Если ваша сборка требует более 20 минут, вы можете указать несколько минут для функции travis_wait, например:

$ travis_wait 30 pip install scipy

Эта функция недокументирована в Travis, но она предложена Хиро Асари из Travis по выпуску github.

Ответ 3

Вы также можете использовать здесь подход, если использовать команды типа travis_wait, предоставленные Travis CI, не является параметром.

В моем случае я хотел, чтобы Travis работал при определении шагов в отдельных сценариях оболочки, где я понятия не имел, как использовать команды, предоставленные Travis. Вышеприведенный подход был разработан довольно хорошо (если это интересно, см. запрос на перенос).