-
Notifications
You must be signed in to change notification settings - Fork 24
/
.travis.yml
149 lines (142 loc) · 4.22 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
# Default settings and matrix for amd64 jobs (except Python 3.7)
os: linux
dist: focal
arch: amd64
language: python
cache:
pip: true
directories:
- .tox
python:
- "2.7"
- "3.6"
- "3.8"
- "3.9"
- "3.10"
- "3.11"
- "3.12"
install: pip install tox-travis
script: tox
# Adjustments for specific platforms
jobs:
include:
# Python 3.7 has numpy install failures on amd64
# Add job explicitly with adjustment of install script
# Also use this job to test the docs build
- name: amd64 / Python 3.7 / numpy 1.16-1.21 & docs
arch: amd64
python: "3.7"
install: pip install --upgrade importlib_metadata tox-travis
script: tox -e "py37-numpy{1.16,1.17,1.18,1.19,1.20,1.21},docs"
# ARM
- arch: arm64
python: "2.7"
dist: xenial
- arch: arm64
python: "3.6"
# Exclude numpy v1.18 that doesn't build properly
script: tox -e "py36-numpy{1.16,1.17,1.19}"
- arch: arm64
python: "3.7"
# Exclude numpy v1.18 that doesn't build properly
script: tox -e "py37-numpy{1.16,1.17,1.19,1.20,1.21}"
- arch: arm64
python: "3.8"
# Exclude numpy v1.18 that doesn't build properly
script: tox -e "py38-numpy{1.17,1.19,1.20,1.21,1.22,1.23,1.24}"
- arch: arm64
python: "3.9"
- arch: arm64
python: "3.10"
- arch: arm64
python: "3.11"
- arch: arm64
dist: jammy
python: "3.12"
# PPC
# Just build one numpy version on each ppc64 instance to avoid timeouts
- arch: ppc64le
python: "2.7"
dist: xenial
- arch: ppc64le
python: "3.6"
script: tox -e "py36-numpy1.16"
- arch: ppc64le
python: "3.7"
script: tox -e "py37-numpy1.17"
- arch: ppc64le
python: "3.8"
script: tox -e "py38-numpy1.20"
- arch: ppc64le
python: "3.9"
script: tox -e "py39-numpy1.22"
- arch: ppc64le
python: "3.10"
script: tox -e "py310-numpy1.26"
- arch: ppc64le
python: "3.11"
script: tox -e "py311-numpy2.0"
# s390x build image has a pip cache permissions problem (except for Python 2.7)
# List all s390x jobs explicitly with adjusted install scripts
- arch: s390x
python: "2.7"
dist: xenial
- arch: s390x
python: "3.6"
install:
- sudo chown -Rv $(id -u):$(id -g) ~/.cache/pip/wheels || true
- pip install tox-travis
# Exclude numpy v1.18 that doesn't build properly
script: tox -e "py36-numpy{1.16,1.17,1.19}"
- arch: s390x
python: "3.7"
install:
- sudo chown -Rv $(id -u):$(id -g) ~/.cache/pip/wheels || true
- pip install tox-travis
# Exclude numpy v1.18 that doesn't build properly
script: tox -e "py37-numpy{1.16,1.17,1.19,1.20,1.21}"
- arch: s390x
python: "3.8"
install:
- sudo chown -Rv $(id -u):$(id -g) ~/.cache/pip/wheels || true
- pip install tox-travis
# Exclude numpy v1.18 that doesn't build properly
# Also cut down list of numpy versions so build doesn't time out
script: tox -e "py38-numpy{1.17,1.21,1.24}"
- arch: s390x
python: "3.9"
install:
- sudo chown -Rv $(id -u):$(id -g) ~/.cache/pip/wheels || true
- pip install tox-travis
# Cut down list of numpy versions so build doesn't time out
script: tox -e "py39-numpy{1.19,1.22,1.26}"
- arch: s390x
python: "3.10"
install:
- sudo chown -Rv $(id -u):$(id -g) ~/.cache/pip/wheels || true
- pip install tox-travis
- arch: s390x
python: "3.11"
install:
- sudo chown -Rv $(id -u):$(id -g) ~/.cache/pip/wheels || true
- pip install tox-travis
# FreeBSD build
- name: FreeBSD / Python 2.7
os: freebsd
language: python
# Mac build
- name: osx / Python 2.7 and 3.7
os: osx
language: generic
install: pip2 install tox
script: tox --skip-missing-interpreters
# Windows build
- name: Windows / Python 3.8
os: windows
language: shell
before_install:
- choco install python --version 3.8.0
- python -m pip install --upgrade pip
env: PATH=/c/Python38:/c/Python38/Scripts:$PATH
install: pip install tox
script: tox --skip-missing-interpreters