Skip to content

Commit cfc9f2e

Browse files
authored
Merge pull request #405 from jcapriot/buildwheel_updates
Add builds and tests for python 3.14 release candidate on linux (and CI buildwheel updates)
2 parents 82d40ff + 3a61312 commit cfc9f2e

File tree

5 files changed

+24
-20
lines changed

5 files changed

+24
-20
lines changed

.ci/azure/setup_env.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ set -ex #echo on and exit if any line fails
55
is_azure=$(echo "${TF_BUILD:-false}" | tr '[:upper:]' '[:lower:]')
66
do_doc=$(echo "${DOC_BUILD:-false}" | tr '[:upper:]' '[:lower:]')
77
is_free_threaded=$(echo "${PYTHON_FREETHREADING:-false}" | tr '[:upper:]' '[:lower:]')
8+
is_rc=$(echo "${PYTHON_RELEASE_CANDIDATE:-false}" | tr '[:upper:]' '[:lower:]')
89

910
if ${is_azure}
1011
then
@@ -23,6 +24,10 @@ else
2324
echo " - python="$PYTHON_VERSION >> environment_test_with_pyversion.yml
2425
fi
2526

27+
if ${is_rc}
28+
then
29+
sed -i '/^channels:/a\ - conda-forge/label/python_rc' environment_test_with_pyversion.yml
30+
fi
2631
conda env create --file environment_test_with_pyversion.yml
2732
rm environment_test_with_pyversion.yml
2833

.ci/azure/test.yml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,6 @@ jobs:
22
- job:
33
strategy:
44
matrix:
5-
linux-Python310:
6-
image: ubuntu-latest
7-
python.version: '3.10'
85
linux-Python311:
96
image: ubuntu-latest
107
python.version: '3.11'
@@ -20,9 +17,15 @@ jobs:
2017
python.version: '3.13'
2118
python.freethreading: True
2219
coverage: True
23-
osx-Python310:
24-
image: macOS-latest
25-
python.version: '3.10'
20+
linux-Python314:
21+
image: ubuntu-latest
22+
python.version: '3.14'
23+
python.release_candidate: True
24+
linux-Python314t:
25+
image: ubuntu-latest
26+
python.version: '3.14'
27+
python.freethreading: True
28+
python.release_candidate: True
2629
osx-Python311:
2730
image: macOS-latest
2831
python.version: '3.11'
@@ -36,9 +39,6 @@ jobs:
3639
image: macOS-latest
3740
python.version: '3.13'
3841
python.freethreading: True
39-
win-Python310:
40-
image: windows-latest
41-
python.version: '3.10'
4242
win-Python311:
4343
image: windows-latest
4444
python.version: '3.11'

.ci/environment_test_bare.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ channels:
33
- conda-forge
44
dependencies:
55
- numpy>=1.22.4
6-
- scipy>=1.8
6+
- scipy>=1.12
77

88
# testing
99
- sympy

.github/workflows/build_distributions.yml

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,14 @@ jobs:
88
runs-on: ${{ matrix.os }}
99
strategy:
1010
matrix:
11-
# macos-13 is an intel runner, macos-14 is apple silicon
12-
os: [ubuntu-latest, windows-latest, macos-13, macos-14]
11+
# macos-15-intel is an Intel runner, macos-14 is Apple silicon
12+
os: [ubuntu-latest, ubuntu-24.04-arm, windows-latest, windows-11-arm, macos-15-intel, macos-14]
1313

1414
steps:
15-
- uses: actions/checkout@v4
16-
with:
17-
fetch-depth: 0
15+
- uses: actions/checkout@v5
1816

1917
- name: Build wheels
20-
uses: pypa/cibuildwheel@v2.21.3
18+
uses: pypa/cibuildwheel@v3.2.0
2119

2220
- uses: actions/upload-artifact@v4
2321
with:

pyproject.toml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ name = 'discretize'
1717
dynamic = ["version"]
1818
description = 'Discretization tools for finite volume and inverse problems'
1919
readme = 'README.rst'
20-
requires-python = '>=3.10'
20+
requires-python = '>=3.11'
2121
authors = [
2222
{name = 'SimPEG developers', email = '[email protected]'},
2323
]
@@ -32,7 +32,7 @@ dependencies = [
3232
# TODO: update to "pin-compatible" once possible, see
3333
# https://github.com/mesonbuild/meson-python/issues/29
3434
"numpy>=1.22.4",
35-
"scipy>=1.8",
35+
"scipy>=1.12",
3636
]
3737
classifiers = [
3838
"Development Status :: 4 - Beta",
@@ -108,8 +108,9 @@ Repository = 'http://github.com/simpeg/discretize.git'
108108
# skip building wheels for python 3.6, 3.7, 3.8, 3.9, all pypy versions, and specialty linux
109109
# processors (still does arm builds though).
110110
# skip windows 32bit
111-
skip = "cp36-* cp37-* cp38-* cp39-* pp* *_ppc64le *_i686 *_s390x *-win32"
112-
build-verbosity = "3"
111+
skip = "cp38-* cp39-* cp310-* *_ppc64le *_i686 *_s390x *-win32 cp310-win_arm64"
112+
build-verbosity = 3
113+
enable = ["cpython-freethreading"]
113114

114115
# test importing discretize to make sure externals are loadable.
115116
test-command = 'python -c "import discretize; print(discretize.__version__)"'

0 commit comments

Comments
 (0)