-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
128 lines (118 loc) · 3.66 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
# All jobs use the python language. This brings in the travis python environments
# which are available for several python versions. The python version for each job is
# specified in the build matrix below.
language: python
# Manually specify every entry in the job matrix. For older compiler versions, we
# only test with a default python version. For the latest available
# compiler version, we test with several python versions.
jobs:
include:
# GCC 4.9 - this is the oldest version that has good C++11 support
- os: linux
dist: xenial
python: 3.6
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- build-essential
- gcc-4.9
- g++-4.9
env:
- COMPILERS="export CC=$(which gcc-4.9) && export CXX=$(which g++-4.9)"
# GCC 5 - default version for ubuntu 16.04 LTS
- os: linux
dist: xenial
python: 3.6
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- build-essential
- gcc-5
- g++-5
env:
- COMPILERS="export CC=$(which gcc-5) && export CXX=$(which g++-5)"
# GCC 7 - default version for ubuntu 18.04 LTS
- os: linux
dist: xenial
python: 3.6
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- build-essential
- gcc-7
- g++-7
env:
- COMPILERS="export CC=$(which gcc-7) && export CXX=$(which g++-7)"
# GCC 9 - default version for ubuntu 19.10
# Python 3.6
- os: linux
dist: xenial
python: 3.6
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- build-essential
- gcc-9
- g++-9
env:
- COMPILERS="export CC=$(which gcc-9) && export CXX=$(which g++-9)"
# Linux Latest everything: gcc, python, pip packages
- os: linux
dist: xenial
python: 3.7
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- build-essential
- gcc-9
- g++-9
env:
- COMPILERS="export CC=$(which gcc-9) && export CXX=$(which g++-9)"
# OS X is a special case. We set language to generic and then use homebrew
# to install python3 and any other dependencies. We can only easily use the
# latest versions of all packages here.
- os: osx
osx_image: xcode9.4
language: generic
addons:
homebrew:
packages:
- git
- python3
env:
- COMPILERS="export CC=$(which clang) && export CXX=$(which clang++)"
# The rest of this file is common to all jobs and uses per-job environment variables
# set in the matrix above.
env:
global:
# Binary packages to install with pip
- PIP_BINARY="numpy scipy matplotlib healpy"
# Other CMB-S4 dependencies to install from github. Specify the version of each
# package to install.
#-CMBS4_PIP="s4sim=master"
- CMBS4_PIP=""
before_install:
# Set the C and C++ compilers
- eval "${COMPILERS}"
- echo " CC = ${CC} $(${CC} -dumpversion)"
- echo " CXX = ${CXX} $(${CXX} -dumpversion)"
# Install binary python dependencies.
- pip3 install $PIP_BINARY
# Install CMB-S4 dependencies
- for p in $CMBS4_PIP; do r=$(echo $p | cut -d= -f1); v=$(echo $p | cut -d= -f2); pip3 install git+https://github.com/CMB-S4/${r}.git@${v}#egg=${r}; done
# Install this package
install:
- pip3 install .
# Run tests for this package
script:
- python3 -c 'import s4sim.tests; s4sim.tests.run()'