forked from astroweaver/pyds9
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
175 lines (142 loc) · 6.26 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
162
163
164
165
166
167
168
169
170
171
172
173
174
175
# See
# https://docs.travis-ci.com/user/gui-and-headless-browsers/#using-xvfb-to-run-tests-that-require-a-gui
# for information on running xvfb
#
# However, getting xvfb to run via a service causes tests to fail - they
# time out waiting for something - and it seems to be because of the
# xvfb display that is created. The Travis documentation does not mention
# how the size can be configured, so I have switched to running it manually
# with an explicit desktop size and bitpix.
#
os: linux
language: c
# Setting sudo to false opts in to Travis-CI container-based builds.
sudo: false
# The apt packages below are needed for sphinx builds. A full list of packages
# that can be included can be found here:
#
# https://github.com/travis-ci/apt-package-whitelist/blob/master/ubuntu-precise
addons:
apt:
packages:
- graphviz
- texlive-latex-extra
- dvipng
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.
- PYTHON_VERSION=3.7
- NUMPY_VERSION=stable
- ASTROPY_VERSION=stable
- MAIN_CMD='python setup.py'
- SETUP_CMD='test'
# Does it make sense to add astropy here?
- PIP_DEPENDENCIES='astropy pytest-astropy pytest-xvfb'
# For this package-template, we include examples of Cython modules,
# so Cython is required for testing. If your package does not include
# Cython code, you can set CONDA_DEPENDENCIES=''
- CONDA_DEPENDENCIES='Cython ds9'
- CONDA_CHANNELS='http://ssb.stsci.edu/astroconda'
# - SETUP_XVFB=True
# set XPA_METHOD to avoid locking the tests
- XPA_METHOD=local
matrix:
# Make sure that egg_info works without dependencies
- SETUP_CMD='egg_info'
# Try all python versions with the latest numpy
- SETUP_CMD='test'
matrix:
include:
# Try MacOS X
# - os: osx
# env: SETUP_CMD='test'
- os: osx
env: PYTHON_VERSION=3.7
# Do a coverage test in Python 3.6
# - python: 3.6
# env: SETUP_CMD='test --coverage'
# Check for sphinx doc build warnings - we do this first because it
# may run for a long time
# - env: SETUP_CMD='build_docs -w' PYDS9_NOXPANS=true
# Explicit tests of version combinations:
# Note that AstroPy 4 requires NumPy 1.16 or later
#
# A lot of repeated info as DJB is having trouble with this
#
- env: PYTHON_VERSION=3.5 ASTROPY_VERSION=2.0 NUMPY_VERSION=1.15
os: linux
dist: bionic
# services: xvfb
# For some reason the tests seem to hang, waiting for a response,
# so as it is not a high-priority combination jyst skip the test.
#
# - env: PYTHON_VERSION=3.5 ASTROPY_VERSION=3.2 NUMPY_VERSION=1.15
# os: linux
# dist: bionic
# # services: xvfb
- env: PYTHON_VERSION=3.6 ASTROPY_VERSION=3.2 NUMPY_VERSION=1.15
os: linux
dist: bionic
# services: xvfb
- env: PYTHON_VERSION=3.7 ASTROPY_VERSION=3.2 NUMPY_VERSION=1.15
os: linux
dist: bionic
# services: xvfb
- env: PYTHON_VERSION=3.6 ASTROPY_VERSION=4.0 NUMPY_VERSION=1.18
os: linux
dist: bionic
# services: xvfb
- env: PYTHON_VERSION=3.7 ASTROPY_VERSION=4.0 NUMPY_VERSION=1.18
os: linux
dist: bionic
# services: xvfb
# Try without cython
# - env: PYTHON_VERSION=3.6 CONDA_DEPENDENCIES='numpy ds9'
# SETUP_CMD='egg_info'
# Try with sphinx
# - env: PYTHON_VERSION=3.6 CONDA_DEPENDENCIES='sphinx'
install:
# We now use the ci-helpers package to set up our testing environment.
# This is done by using Miniconda and then using conda and pip to install
# dependencies. Which dependencies are installed using conda and pip is
# determined by the CONDA_DEPENDENCIES and PIP_DEPENDENCIES variables,
# which should be space-delimited lists of package names. See the README
# in https://github.com/astropy/ci-helpers for information about the full
# list of environment variables that can be used to customize your
# environment. In some cases, ci-helpers may not offer enough flexibility
# in how to install a package, in which case you can have additional
# commands in the install: section below.
- git clone git://github.com/astropy/ci-helpers.git
- source ci-helpers/travis/setup_conda.sh
# As described above, using ci-helpers, you should be able to set up an
# environment with dependencies installed using conda and pip, but in some
# cases this may not provide enough flexibility in how to install a
# specific dependency (and it will not be able to install non-Python
# dependencies). Therefore, you can also include commands below (as
# well as at the start of the install section or in the before_install
# section if they are needed before setting up conda) to install any
# other dependencies.
before_script:
# on MacOSX try to start Xvfb
# Taken from https://github.com/travis-ci/travis-ci/issues/7313 and
# https://github.com/widelands/widelands/commit/68b2bbe95c91f5305924154af9c36c63cdc773a0
#
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export DISPLAY=:99.0; ( sudo Xvfb :99 -ac -screen 0 1024x768x8; echo ok )& sleep 3; fi
script:
# - ${MAIN_CMD} $SETUP_CMD
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then ${MAIN_CMD} $SETUP_CMD; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then xvfb-run --server-args="-screen 0 1024x768x8" ${MAIN_CMD} $SETUP_CMD; fi
after_success:
# If coveralls.io is set up for this package, uncomment the line
# below and replace "packagename" with the name of your package.
# The coveragerc file may be customized as needed for your package.
# - if [[ $SETUP_CMD == 'test --coverage' ]]; then coveralls --rcfile='packagename/tests/coveragerc'; fi
notifications:
email:
# NOTE: Pull Request builds do not trigger email notifications
# recipients:
on_success: change
on_failure: always