forked from nucleic/enaml
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
83 lines (66 loc) · 2.51 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
sudo: false
dist: trusty
branches:
only:
- master
matrix:
include:
- env: PYTHON=2.7 QT_VERSION=4 IPY_VERSION=3
- env: PYTHON=3.4 QT_VERSION=4 IPY_VERSION=3
- env: PYTHON=3.5 QT_VERSION=5 IPY_VERSION=5 QSCINTILLA=0
- env: PYTHON=3.6 QT_VERSION=5 IPY_VERSION=6 QSCINTILLA=1
before_install:
# Install Miniconda
- travis_retry wget -q https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh
- chmod +x miniconda.sh
- ./miniconda.sh -b -p ~/anaconda
- export PATH=~/anaconda/bin:$PATH
# Setup environment
- travis_retry conda update --yes conda
- conda config --set always_yes yes
# Display those for debug purposes
- conda info -a
- conda create -n travisci python=$PYTHON pip
- source activate travisci
- CONDA_INSTALL="conda install -q"
- PIP_INSTALL="pip install"
# Install enaml dependencies and include special widgets dependencies
# We do not test vtk as it segfaults on Travis
- $CONDA_INSTALL pyqt=$QT_VERSION ply matplotlib
# Install qtpy from pip to get a recent version (>= 1.3) on python 3.4
- $PIP_INSTALL qtpy
- 'if [ $IPY_VERSION < 4 ]; then
$CONDA_INSTALL ipython=$IPY_VERSION ipython-qtconsole;
else
$CONDA_INSTALL ipython=$IPY_VERSION qtconsole;
fi'
# Install QScintilla for Qt5 if requested
# This will force qt to the last available version on PyPI and means that
# we will have two versions of qt at the same time but it seems to work fine
- 'if [ $QT_VERSION -gt 4 ] && [ $QSCINTILLA -eq 1 ]; then
$PIP_INSTALL QScintilla pyqt5==5.10.1;
fi'
# Install the dev version of the other nucleic projects
- $PIP_INSTALL https://github.com/nucleic/atom/tarball/master
- $PIP_INSTALL https://github.com/nucleic/kiwi/tarball/master
# Intall test tools (we require pytest > 3.3 to get the builtin logging
# features)
- $PIP_INSTALL pytest pytest-cov pytest-qt
# Install codecov report tools
- $PIP_INSTALL codecov
install:
# Install ecpy (check that build script is not broken
- cd $TRAVIS_BUILD_DIR
- python setup.py develop
- cd ~
before_script:
# We need a (fake) display on Travis so I need to start a X server.
- export DISPLAY=:99.0
- /sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -screen 0 1400x900x24 -ac +extension GLX +render
script:
# Run the enaml test suite
- cd $TRAVIS_BUILD_DIR
- py.test tests --cov enaml --cov-report xml -v
after_success:
- cd $TRAVIS_BUILD_DIR
- codecov