forked from sunpy/sunpy
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.travis.yml
More file actions
128 lines (104 loc) · 3.94 KB
/
Copy path.travis.yml
File metadata and controls
128 lines (104 loc) · 3.94 KB
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
language: generic
os:
- linux
stage: Initial tests
# Setting sudo to false opts in to Travis-CI container-based builds.
sudo: false
branches:
except:
- /^auto-backport-of-pr-[0-9]+$/
# The apt packages below are needed but can no longer be installed with
# sudo apt-get.
addons:
apt:
packages:
- libatlas-dev
- liblapack-dev
- gfortran
- graphviz
- texlive-latex-extra
- dvipng
# Configure the build environment. Global variables are defined for all configurations.
env:
global:
- COLUMNS=180
- PYTHON_VERSION=3.6
- PREVIOUS_NUMPY=1.14.5
- NUMPY_VERSION='stable'
- ASTROPY_VERSION='stable'
- MAIN_CMD='python setup.py'
- SETUP_CMD='test --coverage'
- CONDA_CHANNELS='sunpy'
- CONDA_DEPENDENCIES='openjpeg Cython jinja2 scipy matplotlib pytest==3.6 mock requests beautifulsoup4 sqlalchemy scikit-image pytest-mock lxml pyyaml pandas pytest-astropy suds-jurko glymur pytest-xdist dask drms sphinx-astropy pytest-cov hypothesis'
- PIP_DEPENDENCIES='pytest-rerunfailures sunpy-sphinx-theme pytest-sugar'
- EVENT_TYPE='push pull_request cron'
- MPLBACKEND='agg'
- JOB='test'
stages:
# Do the install jobs and one offline test, it will not proceed if any fail
- name: Initial tests
# Cron only tests
- name: Cron tests
if: type = cron
# Do the rest of the tests
- name: Comprehensive tests
matrix:
# Don't wait for allowed failures
fast_finish: true
include:
# We order the jobs, in terms of the maintainers mood
# Order of tests run in build stages
- python: 3.6
stage: Initial tests
# We order the jobs, in terms of the maintainers mood
# Order of tests run in build stages
- python: 3.7
stage: Initial tests
env: PYTHON_VERSION=3.7
# Comprehensive tests below this line
# We run --online here because --online-only skips the doctests
- python: 3.7
stage: Comprehensive tests
env: SETUP_CMD="test --online --coverage --parallel 8" PYTHON_VERSION=3.7
# Cron tests below this line
- os: osx
stage: Cron tests
language: generic
env: PYTHON_VERSION=3.6
- python: 3.6
stage: Cron tests
env: ASTROPY_VERSION='dev'
- python: 3.6
stage: Cron tests
env: NUMPY_VERSION='dev'
- python: 3.6
stage: Cron tests
env: NUMPY_VERSION='dev' ASTROPY_VERSION='dev'
- python: 3.6
stage: Cron tests
env: SETUP_CMD='test --figure-only' ASTROPY_VERSION='dev'
CONDA_DEPENDENCIES='astropy'
- python: 3.6
stage: Cron tests
# Pip Upstream checks
env: SETUP_CMD='test' CONDA_DEPENDENCIES='' PIP_DEPENDENCIES='' JOB='pip'
install:
- git clone --depth 1 git://github.com/astropy/ci-helpers.git
- source ci-helpers/travis/setup_conda.sh
before_script:
# Download the sample data for the online builds only.
- if [[ $SETUP_CMD == *online-only* ]] || [[ $SETUP_CMD == *remote-data* ]]; then python -m "sunpy.data.sample"; fi
- if [[ $SETUP_CMD == *--figure* ]]; then conda env create --file sunpy/tests/figure_tests_env_$PYTHON_VERSION.yml; source activate sunpy-figure-tests-$PYTHON_VERSION; python -m "sunpy.data.sample"; fi
- if [[ $JOB == *pip* ]]; then pip install .[all]; fi
script:
- $MAIN_CMD $SETUP_CMD
after_success:
- if [[ $SETUP_CMD = *"cov"* ]]; then pip install codecov; codecov; fi
# Notify the IRC channel of build status
notifications:
webhooks:
urls:
- "https://scalar.vector.im/api/neb/services/hooks/dHJhdmlzLWNpLyU0MENhZGFpciUzQW1hdHJpeC5vcmcvJTIxTWVSZEZwRW9uTG9Dd2hvSGVUJTNBbWF0cml4Lm9yZw"
on_success: change # always|never|change
on_failure: always
on_start: never