Моя сборка travis-ci работает вечно после успешного запуска приложения - PullRequest
0 голосов
/ 10 февраля 2019

У меня небольшое приложение на python, и я хочу убедиться, что оно запускается без проблем, когда кто-то делает новый запрос / коммит на github pull.

Теперь проблема в том, что после запуска приложения оно работает вечнопотому что все работает без проблем.

Есть ли способ закрыть сборку со статусом 0 через 2 минуты после сборки?

Вот мой файл .travis.yml


python:
  - "3.7-dev"

install:
  - pip3 install -r requirements.txt
  - pip3 install pytest

before_script:
  - chmod +x deploy.sh
  - chmod +x changelog.sh



branches:
  only:
    - travis-test

script:
  - python3 -m tg_companion

after_success:
  ./deploy.sh

Ответы [ 2 ]

0 голосов
/ 11 февраля 2019

Создайте еще один файл python test.py со следующим кодом.

import tg_companion

Вместо запуска tg_companion, запустите test.ie- python3 -m test (в скрипте .travis.yml)

0 голосов
/ 10 февраля 2019

Один из способов сделать это - обернуть начало вашего приложения в скрипт, который убивает его через определенное время.

В travis.yml set:

script:
  - bash timeout.sh

Затем создайте сценарий timeout.sh:

#!/bin/bash

# Run your app in the background
python3 -m tg_companion &

# Store it's Process ID
bg_pid=$!

# sleep for X seconds
sleep 120

# Kill the python process
kill $bg_pid

# Optionally exit true to prevent travis seeing this as an error
exit 0

В качестве альтернативы можно изменить модуль так, чтобы он замечал, когда он запускался в тестовом режиме, и убивал себя после истечения времени ожидания - возможно, из командной строки,или глядя на окружающую среду, например, TRAVIS=true или CI=true

...