forked from astropy/astropy
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
104 lines (84 loc) · 3.45 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
101
102
103
104
language: python
python:
- 2.6
- 2.7
- 3.3
- 3.4
# This is just for "egg_info". All other builds are explicitly given in the matrix
env:
global:
# Set defaults to avoid repeating in most cases
- NUMPY_VERSION=1.9
- OPTIONAL_DEPS=false
- MAIN_CMD='python setup.py'
matrix:
- SETUP_CMD='egg_info'
matrix:
include:
# Do a PEP8 test
- python: 2.7
env: MAIN_CMD='pep8 astropy --count' SETUP_CMD=''
# Do a coverage test in Python 2
- python: 2.7
env: SETUP_CMD='test --coverage' OPTIONAL_DEPS=true
# Check for sphinx doc build warnings - we do this first because it
# runs for a long time
- python: 2.7
env: SETUP_CMD='build_sphinx -w' OPTIONAL_DEPS=true
# OPTIONAL_DEPS needed because the plot_directive in sphinx needs them
# Try all python versions with the latest numpy
- python: 2.6
env: SETUP_CMD='test --open-files'
- python: 2.7
env: SETUP_CMD='test --open-files'
- python: 3.3
env: SETUP_CMD='test --open-files'
- python: 3.4
env: SETUP_CMD='test --open-files'
# Now try do scipy on 2.7 and an appropriate 3.x build (with latest numpy)
- python: 2.7
env: SETUP_CMD='test' OPTIONAL_DEPS=true LC_CTYPE=C.ascii
- python: 3.3
env: SETUP_CMD='test' OPTIONAL_DEPS=true LC_CTYPE=C.ascii
# Try older numpy versions
- python: 2.7
env: NUMPY_VERSION=1.8 SETUP_CMD='test'
- python: 2.7
env: NUMPY_VERSION=1.7 SETUP_CMD='test'
- python: 2.7
env: NUMPY_VERSION=1.6 SETUP_CMD='test'
- python: 2.7
env: NUMPY_VERSION=1.5 SETUP_CMD='test'
before_install:
# Use utf8 encoding. Should be default, but this is insurance against
# future changes
- export PYTHONIOENCODING=UTF8
- wget http://repo.continuum.io/miniconda/Miniconda-latest-Linux-x86_64.sh -O miniconda.sh
- chmod +x miniconda.sh
- ./miniconda.sh -b
- export PATH=/home/travis/miniconda/bin:$PATH
- conda update --yes conda
# DOCUMENTATION DEPENDENCIES
- if [[ $SETUP_CMD == build_sphinx* ]]; then sudo apt-get install graphviz texlive-latex-extra dvipng; fi
install:
# CONDA
- conda create --yes -n test -c astropy-ci-extras python=$TRAVIS_PYTHON_VERSION
- source activate test
# CORE DEPENDENCIES
- if [[ $SETUP_CMD == test* || $SETUP_CMD == build_sphinx* ]]; then conda install -c astropy-ci-extras --yes numpy=$NUMPY_VERSION pytest pip Cython; fi
# OPTIONAL DEPENDENCIES
- if $OPTIONAL_DEPS; then conda install --yes numpy=$NUMPY_VERSION scipy h5py; fi
- if $OPTIONAL_DEPS; then pip install beautifulsoup4; fi
# DOCUMENTATION DEPENDENCIES
# build_sphinx needs sphinx and matplotlib (for plot_directive). Note that
# this matplotlib will *not* work with py 3.x, but our sphinx build is
# currently 2.7, so that's fine
- if [[ $SETUP_CMD == build_sphinx* ]]; then conda install --yes numpy=$NUMPY_VERSION Sphinx=1.2.2 Pygments matplotlib; fi
# COVERAGE DEPENDENCIES
- if [[ $SETUP_CMD == 'test --coverage' ]]; then pip install coverage coveralls; fi
# PEP8 DEPENDENCIES
- if [[ $MAIN_CMD == pep8* ]]; then pip install pep8; fi
script:
- $MAIN_CMD $SETUP_CMD
after_success:
- if [[ $SETUP_CMD == 'test --coverage' ]]; then coveralls --rcfile='astropy/tests/coveragerc'; fi