26
26
uses : ./.github/workflows/commit_message.yml
27
27
28
28
test_meson :
29
- name : mypy (py3.10 ) & dev deps (py3.13), fast, dev.py
29
+ name : mypy (py3.11 ) & dev deps (py3.13), fast, dev.py
30
30
needs : get_commit_message
31
31
# If using act to run CI locally the github object does not exist and
32
32
# the usual skipping should not be enforced
36
36
runs-on : ubuntu-22.04
37
37
strategy :
38
38
matrix :
39
- python-version : ['3.10 ', '3.13-dev'] # this run will use python dev versions when available
39
+ python-version : ['3.11 ', '3.13-dev'] # this run will use python dev versions when available
40
40
maintenance-branch :
41
41
- ${{ contains(github.ref, 'maintenance/') || contains(github.base_ref, 'maintenance/') }}
42
42
exclude :
63
63
sudo apt-get install -y libopenblas-dev libatlas-base-dev liblapack-dev gfortran libgmp-dev libmpfr-dev libsuitesparse-dev ccache libmpc-dev
64
64
65
65
- name : Install Python packages
66
- if : matrix.python-version == '3.10 '
66
+ if : matrix.python-version == '3.11 '
67
67
run : |
68
68
python -m pip install numpy cython pytest pytest-xdist pytest-timeout pybind11 mpmath gmpy2 pythran ninja meson click rich-click doit pydevtool pooch hypothesis
69
69
95
95
path : ${{ steps.prep-ccache.outputs.dir }}
96
96
# Restores ccache from either a previous build on this branch or on main
97
97
key : ${{ github.workflow }}-${{ matrix.python-version }}-ccache-linux-${{ steps.prep-ccache.outputs.timestamp }}
98
- # This evaluates to `Linux Tests-3.10 -ccache-linux-` which is not unique. As the CI matrix is expanded, this will
98
+ # This evaluates to `Linux Tests-3.11 -ccache-linux-` which is not unique. As the CI matrix is expanded, this will
99
99
# need to be updated to be unique so that the cache is not restored from a different job altogether.
100
100
restore-keys : |
101
101
${{ github.workflow }}-${{ matrix.python-version }}-ccache-linux-
@@ -128,7 +128,7 @@ jobs:
128
128
run : ninja -C build -t missingdeps
129
129
130
130
- name : Mypy
131
- if : matrix.python-version == '3.10 '
131
+ if : matrix.python-version == '3.11 '
132
132
run : |
133
133
# Packages that are only needed for their annotations
134
134
python -m pip install mypy==1.10.0 types-psutil typing_extensions
@@ -148,7 +148,7 @@ jobs:
148
148
if : >
149
149
needs.get_commit_message.outputs.message == 1
150
150
&& (github.repository == 'scipy/scipy' || github.repository == '')
151
- runs-on : ubuntu-22 .04
151
+ runs-on : ubuntu-24 .04
152
152
steps :
153
153
- uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
154
154
with :
@@ -202,12 +202,12 @@ jobs:
202
202
# ################################################################################
203
203
python_debug :
204
204
# also uses the vcs->sdist->wheel route.
205
- name : Python-debug & ATLAS & sdist+wheel, fast, py3.10 /npMin, pip+pytest
205
+ name : Python-debug & ATLAS & sdist+wheel, fast, py3.12 /npMin, pip+pytest
206
206
needs : get_commit_message
207
207
if : >
208
208
needs.get_commit_message.outputs.message == 1
209
209
&& (github.repository == 'scipy/scipy' || github.repository == '')
210
- runs-on : ubuntu-22 .04 # provides python3.10 -dbg
210
+ runs-on : ubuntu-24 .04 # provides python3.12 -dbg
211
211
steps :
212
212
- uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
213
213
with :
@@ -232,7 +232,7 @@ jobs:
232
232
# ################################################################################
233
233
gcc9 :
234
234
# Purpose is to examine builds with oldest-supported gcc and test with pydata/sparse.
235
- name : Oldest GCC & pydata/sparse, fast, py3.10 /npMin, pip+pytest
235
+ name : Oldest GCC & pydata/sparse, fast, py3.11 /npMin, pip+pytest
236
236
needs : get_commit_message
237
237
if : >
238
238
needs.get_commit_message.outputs.message == 1
@@ -246,7 +246,7 @@ jobs:
246
246
- name : Setup Python
247
247
uses : actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
248
248
with :
249
- python-version : " 3.10 "
249
+ python-version : " 3.11 "
250
250
251
251
- name : Setup system dependencies
252
252
run : |
@@ -271,7 +271,7 @@ jobs:
271
271
- name : Install test dependencies
272
272
run : |
273
273
# Downgrade numpy to oldest supported version
274
- pip install gmpy2 threadpoolctl mpmath pooch pytest pytest-xdist==2.5.0 pytest-timeout hypothesis sparse "numpy==1.23.5 "
274
+ pip install gmpy2 threadpoolctl mpmath pooch pytest pytest-xdist==2.5.0 pytest-timeout hypothesis sparse "numpy==1.25.2 "
275
275
276
276
- name : Run tests
277
277
run : |
@@ -284,17 +284,17 @@ jobs:
284
284
# ################################################################################
285
285
prerelease_deps_coverage_64bit_blas :
286
286
# TODO: re-enable ILP64 build.
287
- name : Prerelease deps & coverage report, full, py3.10 /npMin & py3.11/npPre, dev.py
287
+ name : Prerelease deps & coverage report, full, py3.11 /npMin & py3.11/npPre, dev.py
288
288
needs : get_commit_message
289
289
if : >
290
290
needs.get_commit_message.outputs.message == 1
291
291
&& (github.repository == 'scipy/scipy' || github.repository == '')
292
292
runs-on : ubuntu-latest
293
293
strategy :
294
294
matrix :
295
- # Both use numpy 2.x-dev at build time; 3.10 job then downgrades to
295
+ # Both use numpy 2.x-dev at build time; 3.11 job then downgrades to
296
296
# lowest supported NumPy version in order to test ABI compatibility.
297
- python-version : ['3.10 ', '3.11 ']
297
+ python-version : ['3.11 ', '3.12 ']
298
298
299
299
steps :
300
300
- uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
@@ -354,9 +354,9 @@ jobs:
354
354
run : ccache -s
355
355
356
356
- name : Downgrade NumPy from 2.0-dev to lowest supported
357
- if : matrix.python-version == '3.10 '
357
+ if : matrix.python-version == '3.11 '
358
358
run : |
359
- python -m pip install "numpy==1.23.5 "
359
+ python -m pip install "numpy==1.25.2 "
360
360
361
361
- name : Test SciPy
362
362
run : |
@@ -365,7 +365,7 @@ jobs:
365
365
366
366
# ################################################################################
367
367
linux_32bit :
368
- name : 32-bit, fast, py3.10 /npMin, dev.py
368
+ name : 32-bit, fast, py3.11 /npMin, dev.py
369
369
needs : get_commit_message
370
370
if : >
371
371
needs.get_commit_message.outputs.message == 1
@@ -385,7 +385,7 @@ jobs:
385
385
docker pull quay.io/pypa/manylinux2014_i686
386
386
docker run -v $(pwd):/scipy --platform=linux/i386 quay.io/pypa/manylinux2014_i686 /bin/bash -c "cd /scipy && \
387
387
uname -a && \
388
- python3.10 -m venv test && \
388
+ python3.11 -m venv test && \
389
389
source test/bin/activate && \
390
390
python -m pip install doit click rich_click pydevtool meson ninja && \
391
391
python -m pip install -r requirements/openblas.txt && \
@@ -398,7 +398,7 @@ jobs:
398
398
runtime_library_dirs = \$(python -c 'import scipy_openblas32; print(scipy_openblas32.get_lib_dir())')
399
399
symbol_prefix = scipy_
400
400
EOL
401
- python -m pip install numpy==1.23.5 cython pybind11 pytest pytest-timeout pytest-xdist pytest-env 'Pillow<10.0.0' mpmath pythran pooch meson hypothesis && \
401
+ python -m pip install numpy==1.25.2 cython pybind11 pytest pytest-timeout pytest-xdist pytest-env 'Pillow<10.0.0' mpmath pythran pooch meson hypothesis && \
402
402
python -c 'import numpy as np; np.show_config()' && \
403
403
python dev.py build --with-scipy-openblas && \
404
404
python dev.py --no-build test"
@@ -408,12 +408,12 @@ jobs:
408
408
# Purpose is to build for a non-default Python interpreter in a Linux distro
409
409
# For such a build config, `python`/`python3` executables may not have
410
410
# build dependencies like Cython or NumPy installed.
411
- name : non-default Python interpreter, fast, py3.10 /npMin, pip+pytest
411
+ name : non-default Python interpreter, fast, py3.11 /npMin, pip+pytest
412
412
needs : get_commit_message
413
413
if : >
414
414
needs.get_commit_message.outputs.message == 1
415
415
&& (github.repository == 'scipy/scipy' || github.repository == '')
416
- runs-on : ubuntu-22 .04
416
+ runs-on : ubuntu-24 .04
417
417
steps :
418
418
- uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
419
419
with :
@@ -422,8 +422,10 @@ jobs:
422
422
- name : Setup system dependencies
423
423
run : |
424
424
sudo apt-get -y update
425
- # `python3-dev` yields Python 3.10 on Ubuntu 22.04
426
- sudo apt install -y python3-dev python3.11-dev ninja-build pkg-config libatlas-base-dev liblapack-dev
425
+ sudo apt install software-properties-common
426
+ sudo add-apt-repository ppa:deadsnakes/ppa
427
+ sudo apt update -y
428
+ sudo apt install -y python3.11-dev ninja-build pkg-config libatlas-base-dev liblapack-dev
427
429
428
430
- name : Setup Python build deps
429
431
run : |
@@ -437,7 +439,7 @@ jobs:
437
439
- name : Install test dependencies
438
440
run : |
439
441
python3.11 -m pip install pytest hypothesis
440
- python3.10 -m pip install meson # ensure compile test work with this
442
+ python3.12 -m pip install meson # ensure compile test work with this
441
443
442
444
- name : Run tests
443
445
run : |
0 commit comments