1
- # Workflow to build and test wheels
2
1
name : Test
3
2
4
- on : [push, pull_request]
3
+ on :
4
+ push :
5
+ branches :
6
+ - master
7
+ - v1.**
8
+ pull_request :
9
+ branches :
10
+ - master
11
+ - v1.**
5
12
6
13
jobs :
7
14
@@ -12,15 +19,15 @@ jobs:
12
19
MPLBACKEND : Agg
13
20
CYTHON_TRACE : 1
14
21
CYTHONSPEC : cython
15
- NUMPY_MIN : numpy==1.17.5
22
+ NUMPY_MIN : numpy==1.20.3
16
23
CYTHON_MIN : cython==0.29.18
17
24
SCIPY_MIN : scipy==1.2.3
18
25
19
26
strategy :
20
27
# Ensure that a wheel builder finishes even if another fails
21
28
fail-fast : false
22
29
matrix :
23
- python-version : [3.8, 3.9, '3.10', '3.11-dev ']
30
+ python-version : [3.8, 3.9, '3.10', '3.11']
24
31
MINIMUM_REQUIREMENTS : [0]
25
32
USE_SCIPY : [0]
26
33
USE_SDIST : [0]
46
53
USE_WHEEL : 1
47
54
OPTIONS_NAME : " install-from-wheel"
48
55
- platform_id : manylinux_x86_64
49
- python-version : 3.9
56
+ python-version : ' 3.11 '
50
57
PIP_FLAGS : " --pre"
51
- OPTIONS_NAME : " pre"
52
- - platform_id : manylinux_x86_64
53
- python-version : ' 3.11-dev'
54
- PIP_FLAGS : " --pre"
55
- OPTIONS_NAME : " pre"
58
+ OPTIONS_NAME : " pre-releases"
56
59
57
60
steps :
58
61
- name : Checkout PyWavelets
80
83
which python
81
84
python --version
82
85
# sudo apt-get install libatlas-base-dev
83
- pip install --upgrade pip wheel setuptools
86
+ pip install --upgrade pip build
84
87
# Set numpy version first, other packages link against it
85
88
if [ "${MINIMUM_REQUIREMENTS}" == "1" ]; then
86
89
pip install ${CYTHON_MIN}
@@ -91,24 +94,21 @@ jobs:
91
94
pip install numpy
92
95
if [ "${USE_SCIPY}" == "1" ]; then pip install scipy; fi
93
96
fi
94
- pip install matplotlib
95
- pip install pytest pytest-cov coverage codecov
97
+ pip install matplotlib pytest pytest-cov coverage codecov
98
+
96
99
set -o pipefail
97
- if [ "${REFGUIDE_CHECK}" == "1" ]; then
98
- pip install sphinx numpydoc
99
- fi
100
100
if [ "${USE_WHEEL}" == "1" ]; then
101
- pip install wheel;
102
101
# Need verbose output or TravisCI will terminate after 10 minutes
103
102
pip wheel . -v
104
- pip install PyWavelets *.whl -v
103
+ pip install pywavelets *.whl
105
104
elif [ "${USE_SDIST}" == "1" ]; then
106
- python setup.py sdist
105
+ python -m build --sdist
106
+ pip install dist/pyw*.tar.gz -v
107
107
elif [ "${REFGUIDE_CHECK}" == "1" ]; then
108
- pip install -e . -v
108
+ pip install sphinx numpydoc
109
+ pip install . -v
109
110
else
110
- CFLAGS="--coverage" python setup.py build --build-lib build/lib/ --build-temp build/tmp/
111
- CFLAGS="--coverage" pip install -e . -v
111
+ CFLAGS="--coverage" pip install . -v
112
112
fi
113
113
114
114
- name : Run tests
@@ -118,48 +118,40 @@ jobs:
118
118
USE_SDIST : ${{ matrix.USE_SDIST }}
119
119
REFGUIDE_CHECK : ${{ matrix.REFGUIDE_CHECK }}
120
120
run : |
121
+ set -o pipefail
122
+ # Move out of source directory to avoid finding local pywt
123
+ pushd demo
121
124
if [ "${USE_WHEEL}" == "1" ]; then
122
- pushd demo
123
125
pytest --pyargs pywt
124
- # if [[ "${TRAVIS_CPU_ARCH}" != "arm64" ]]; then
125
126
python ../pywt/tests/test_doc.py
126
- # fi
127
- popd
128
127
elif [ "${USE_SDIST}" == "1" ]; then
129
- # Move out of source directory to avoid finding local pywt
130
- pushd dist
131
- pip install PyWavelets* -v
132
128
pytest --pyargs pywt
133
- # if [[ "${TRAVIS_CPU_ARCH}" != "arm64" ]]; then
134
129
python ../pywt/tests/test_doc.py
135
- # fi
136
- popd
137
130
elif [ "${REFGUIDE_CHECK}" == "1" ]; then
138
131
python util/refguide_check.py --doctests
139
132
else
140
- pushd demo
141
133
pytest --pyargs pywt --cov=pywt --cov-config=../.coveragerc
142
134
cp .coverage ..
143
- popd
144
135
fi
136
+ popd
145
137
146
138
147
139
test_pywavelets_macos :
148
- name : macos-cp${{ matrix.python-version }}
140
+ name : macos-cp${{ matrix.python-version }}-${{ matrix.OPTIONS_NAME }}
149
141
runs-on : macos-latest
150
142
env :
151
143
MPLBACKEND : Agg
152
144
CYTHON_TRACE : 1
153
145
CYTHONSPEC : cython
154
- NUMPY_MIN : numpy==1.17.5
146
+ NUMPY_MIN : numpy==1.20.3
155
147
CYTHON_MIN : cython==0.29.18
156
148
SCIPY_MIN : scipy==1.2.3
157
149
158
150
strategy :
159
151
# Ensure that a wheel builder finishes even if another fails
160
152
fail-fast : false
161
153
matrix :
162
- python-version : [3.8, '3.10', '3.11-dev ']
154
+ python-version : [3.8, '3.11 ']
163
155
MINIMUM_REQUIREMENTS : [0]
164
156
USE_SCIPY : [0]
165
157
USE_SDIST : [0]
@@ -168,12 +160,12 @@ jobs:
168
160
PIP_FLAGS : [""]
169
161
OPTIONS_NAME : ["default"]
170
162
include :
171
- - python-version : 3.8
163
+ - python-version : ' 3.8'
172
164
MINIMUM_REQUIREMENTS : 1
173
165
OPTIONS_NAME : " osx-minimum-req"
174
- - python-version : 3.9
166
+ - python-version : ' 3.10 '
175
167
PIP_FLAGS : " --pre"
176
- OPTIONS_NAME : " osx- pre"
168
+ OPTIONS_NAME : " pre-releases "
177
169
178
170
steps :
179
171
- name : Checkout PyWavelets
@@ -199,39 +191,31 @@ jobs:
199
191
uname -a
200
192
df -h
201
193
ulimit -a
202
- # ccache -s
203
194
which python
204
195
python --version
205
- # sudo apt-get install libatlas-base-dev
206
- pip install --upgrade pip wheel setuptools
196
+ pip install --upgrade pip build
207
197
# Set numpy version first, other packages link against it
208
198
if [ "${MINIMUM_REQUIREMENTS}" == "1" ]; then
209
- pip install ${CYTHON_MIN}
210
- pip install ${NUMPY_MIN}
199
+ pip install ${CYTHON_MIN} ${NUMPY_MIN}
211
200
if [ "${USE_SCIPY}" == "1" ]; then pip install ${SCIPY_MIN}; fi
212
201
else
213
- pip install cython
214
- pip install numpy
202
+ pip install cython numpy
215
203
if [ "${USE_SCIPY}" == "1" ]; then pip install scipy; fi
216
204
fi
217
- pip install matplotlib
218
- pip install pytest pytest-cov coverage codecov
205
+ pip install matplotlib pytest pytest-cov coverage codecov
206
+
219
207
set -o pipefail
220
- if [ "${REFGUIDE_CHECK}" == "1" ]; then
221
- pip install sphinx numpydoc
222
- fi
223
208
if [ "${USE_WHEEL}" == "1" ]; then
224
- pip install wheel;
225
- # Need verbose output or TravisCI will terminate after 10 minutes
226
209
pip wheel . -v
227
- pip install PyWavelets *.whl -v
210
+ pip install pywavelets *.whl -v
228
211
elif [ "${USE_SDIST}" == "1" ]; then
229
- python setup.py sdist
212
+ python -m build --sdist
213
+ pip install pywavelets* -v
230
214
elif [ "${REFGUIDE_CHECK}" == "1" ]; then
231
- pip install -e . -v
215
+ pip install sphinx numpydoc
216
+ pip install . -v
232
217
else
233
- CFLAGS="--coverage" python setup.py build --build-lib build/lib/ --build-temp build/tmp/
234
- CFLAGS="--coverage" pip install -e . -v
218
+ pip install . -v
235
219
fi
236
220
237
221
- name : Run tests
@@ -241,27 +225,17 @@ jobs:
241
225
USE_SDIST : ${{ matrix.USE_SDIST }}
242
226
REFGUIDE_CHECK : ${{ matrix.REFGUIDE_CHECK }}
243
227
run : |
228
+ # Move out of source directory to avoid finding local pywt
229
+ pushd demo
244
230
if [ "${USE_WHEEL}" == "1" ]; then
245
- pushd demo
246
231
pytest --pyargs pywt
247
- # if [[ "${TRAVIS_CPU_ARCH}" != "arm64" ]]; then
248
232
python ../pywt/tests/test_doc.py
249
- # fi
250
- popd
251
233
elif [ "${USE_SDIST}" == "1" ]; then
252
- # Move out of source directory to avoid finding local pywt
253
- pushd dist
254
- pip install PyWavelets* -v
255
234
pytest --pyargs pywt
256
- # if [[ "${TRAVIS_CPU_ARCH}" != "arm64" ]]; then
257
235
python ../pywt/tests/test_doc.py
258
- # fi
259
- popd
260
236
elif [ "${REFGUIDE_CHECK}" == "1" ]; then
261
237
python util/refguide_check.py --doctests
262
238
else
263
- pushd demo
264
- pytest --pyargs pywt --cov=pywt --cov-config=../.coveragerc
265
- cp .coverage ..
266
- popd
239
+ pytest --pyargs pywt
267
240
fi
241
+ popd
0 commit comments