forked from networkx/networkx
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
100 lines (82 loc) · 3.19 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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# After changing this file, check it on:
# http://lint.travis-ci.org/
#
language: python
python:
- "2.7"
- "3.2"
- "3.3"
- "3.4"
matrix:
fast_finish: true
include:
- python: "pypy"
env: OPTIONAL_DEPS=no
- python: "3.4"
env: OPTIONAL_DEPS=source
allow_failures:
- env: OPTIONAL_DEPS=source
env:
global:
# Install from wheels *only*.
- PIPINSTALL="pip install -v --use-wheel --no-index --find-links=http://sunpy.cadair.com/wheelhouse/"
- NXOPTDEPS=""
matrix:
- OPTIONAL_DEPS=pip
- OPTIONAL_DEPS=no
before_install:
### Prepare the system to install prerequisites or dependencies
- uname -a
- printenv
- pip install --upgrade setuptools
- pip install --upgrade pip
- pip install wheel
- pip --version
install:
### Install any prerequisites or dependencies necessary to run the build.
# Skipping pydot (not 3.x compatible)
# Skipping gdal (errors during pip installs)
- sudo apt-get update -qq
- if [[ "${OPTIONAL_DEPS}" =~ pip|source ]]; then sudo apt-get install graphviz libsuitesparse-dev; fi
- if [[ "${TRAVIS_PYTHON_VERSION}${OPTIONAL_DEPS}" =~ 2\..(pip|source) ]]; then pip install pygraphviz; fi
- if [ "${OPTIONAL_DEPS}" == "pip" ]; then pip install --use-wheel pyyaml pyparsing; fi
- if [ "${OPTIONAL_DEPS}" == "pip" ]; then $PIPINSTALL numpy scipy matplotlib Cython; fi
# Try to install latest and greatest from source.
- if [ "${OPTIONAL_DEPS}" == "source" ]; then sudo apt-get install -qq libatlas-dev libatlas-base-dev liblapack-dev gfortran; fi
- if [ "${OPTIONAL_DEPS}" == "source" ]; then pip install --upgrade pyyaml pyparsing numpy scipy matplotlib Cython; fi
# Install stuff that depends on Cython.
- if [[ "${OPTIONAL_DEPS}" =~ pip|source ]]; then pip install scikits.sparse; fi
before_script:
### Use this to prepare your build for testing
- pip install --upgrade nose
- pip install --upgrade coverage
- pip install --upgrade coveralls
script:
- printenv PWD
- pip install .
- export NX_INSTALL=`pip show networkx | grep Location | awk '{print $2"/networkx"}'`
# nose 1.3.0 does not tell coverage to only cover the requested
# package (except during the report). So to restrict coverage, we must
# inform coverage through the .coveragerc file.
- cp .coveragerc $NX_INSTALL
- cp setup.cfg $NX_INSTALL
# Move to new directory so that networkx is not imported from repository.
# Why? Because we want the tests to make sure that NetworkX was installed
# correctly. Example: setup.py might not have included some submodules.
# Testing from the git repository cannot catch a mistake like that.
#
# Export current directory for logs.
- cd $NX_INSTALL
- printenv PWD
# Run nosetests.
- nosetests --verbosity=2 --with-coverage --cover-package=networkx
after_success:
# We must run coveralls from the git repo. But we ran tests from the
# installed directory. The .coverage file looks like it contains absolute
# paths, but coveralls does not seem to care.
- cp .coverage $TRAVIS_BUILD_DIR
- cd $TRAVIS_BUILD_DIR
# Report coverage for 2.7 and 3.4 only.
- if [[ "${TRAVIS_PYTHON_VERSION}${OPTIONAL_DEPS}" =~ 2\.7pip|3\.4source ]]; then coveralls; fi
notifications:
email: false