-
Notifications
You must be signed in to change notification settings - Fork 2
/
.travis.yml
161 lines (133 loc) · 5.49 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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
# Mimicing Kirkby's speclit travis file
#
# We set the language to c because python isn't supported on the MacOS X nodes
# on Travis. However, the language ends up being irrelevant anyway, since we
# install Python ourselves using conda.
language: c
os:
- linux
# Setting sudo to false opts in to Travis-CI container-based builds.
sudo: false
# The apt packages below are needed for sphinx builds, which can no longer
# be installed with sudo apt-get.
addons:
apt:
packages:
- graphviz
- texlive-latex-extra
- dvipng
- libgsl0-dev
env:
global:
# The following versions are the 'default' for tests, unless
# overridden underneath. They are defined here in order to save having
# to repeat them for all configurations.
- FOLDERNAME='arclines'
- PYTHON_VERSION=3.6
- ASTROPY_VERSION=stable
- NUMPY_VERSION=stable
- MAIN_CMD='python setup.py'
- SETUP_CMD='test'
- CONDA_DEPENDENCIES='scipy h5py pyyaml matplotlib future Cython'
- PIP_DEPENDENCIES=''
- EVENT_TYPE='pull_request push'
- TASK='test'
# Conda packages for affiliated packages are hosted in channel
# "astropy" while builds for astropy LTS with recent numpy versions
# are in astropy-ci-extras. If your package uses either of these,
# add the channels to CONDA_CHANNELS along with any other channels
# you want to use.
- CONDA_CHANNELS='astropy-ci-extras'
# If there are matplotlib or other GUI tests, uncomment the following
# line to use the X virtual framebuffer.
- SETUP_XVFB=True
matrix:
# Extra context is a way to override options that the user normally
# specifies during the questions phase of the cookiecutter setup. The keys
# being overridden here must exist in the cookiecutter.json
# See https://cookiecutter.readthedocs.io/en/0.9.1/advanced_usage.html#injecting-extra-context
#- EXTRA_CONTEXT=''
#- EXTRA_CONTEXT='include_example_cython_code=y'
#- EXTRA_CONTEXT="package_name=AstropyProject" FOLDERNAME='AstropyProject'
#- EXTRA_CONTEXT='_parent_project=sunpy'
#- TASK='render' EXTRA_CONTEXT='include_example_cython_code=y initialize_git_repo=n'
- PYTHON_VERSION=2.7 SETUP_CMD='egg_info'
- PYTHON_VERSION=3.6 SETUP_CMD='egg_info'
matrix:
# Don't wait for allowed failures
fast_finish: true
include:
# Try MacOS X
#- os: osx
# env: SETUP_CMD='test'
# Do a coverage test.
#- os: linux
# env: SETUP_CMD='test --coverage'
# Check for sphinx doc build warnings - we do this first because it
# may run for a long time
#- os: linux
# env: SETUP_CMD='build_docs -w'
# Now try Astropy dev and LTS vesions with the latest 3.x and 2.7.
#- os: linux
# env: PYTHON_VERSION=2.7 ASTROPY_VERSION=development
# EVENT_TYPE='pull_request push cron'
- os: linux
env: ASTROPY_VERSION=development
EVENT_TYPE='pull_request push cron'
- os: linux
env: PYTHON_VERSION=2.7 ASTROPY_VERSION=lts
- os: linux
env: ASTROPY_VERSION=lts
# Try all python versions and Numpy versions. Since we can assume that
# the Numpy developers have taken care of testing Numpy with different
# versions of Python, we can vary Python and Numpy versions at the same
# time.
- os: linux
env: PYTHON_VERSION=2.7 NUMPY_VERSION=1.11
#- os: linux
# env: PYTHON_VERSION=3.3 NUMPY_VERSION=1.8
#- os: linux
# env: PYTHON_VERSION=3.4 NUMPY_VERSION=1.9
#- os: linux
# env: PYTHON_VERSION=3.5 NUMPY_VERSION=1.10
- os: linux
env: NUMPY_VERSION=1.11
# Try numpy pre-release
- os: linux
env: NUMPY_VERSION=prerelease
EVENT_TYPE='pull_request push cron'
# Do a PEP8 test with pycodestyle
- os: linux
env: MAIN_CMD='pycodestyle packagename --count' SETUP_CMD=''
allow_failures:
# Do a PEP8 test with pycodestyle
# (allow to fail unless your code completely compliant)
- os: linux
env: MAIN_CMD='pycodestyle packagename --count' SETUP_CMD=''
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 -p $HOME/miniconda
- export PATH=$HOME/miniconda/bin:$PATH
- export GSL_PATH=$HOME/miniconda
- hash -r
- conda config --set always_yes yes --set changeps1 no
- conda update --yes conda
- conda install -c https://conda.anaconda.org/asmeurer gsl
# UPDATE APT-GET LISTINGS
- sudo apt-get update
# DOCUMENTATION DEPENDENCIES
- if [[ $SETUP_CMD == build_sphinx* ]]; then sudo apt-get install graphviz texlive-latex-extra dvipng; fi
install:
- git clone git://github.com/astropy/ci-helpers.git
- source ci-helpers/travis/setup_conda_$TRAVIS_OS_NAME.sh
- if [[ $SETUP_CMD != egg_info ]]; then $PIP_INSTALL git+https://github.com/linetools/linetools.git; fi
- conda install numpy
- conda install numba
script:
- $MAIN_CMD $SETUP_CMD
after_success:
- if [[ $SETUP_CMD == 'test --coverage' ]]; then coveralls --rcfile='arclines/tests/coveragerc'; fi