Skip to content

Commit 4b37ffe

Browse files
authored
Merge branch 'main' into main
2 parents 6f0b319 + 84070fe commit 4b37ffe

14 files changed

Lines changed: 250 additions & 60 deletions

‎.github/workflows/build-with-clang.yml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313

1414
strategy:
1515
matrix:
16-
python: ["3.10", "3.11", "3.12", "3.13", "3.14"]
16+
python: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.14t"]
1717
numpy_version: ["'numpy>=2'"]
1818

1919
env:
@@ -55,7 +55,7 @@ jobs:
5555

5656
- name: Install mkl_umath dependencies
5757
run: |
58-
pip install meson-python ninja cython cmake
58+
pip install meson-python ninja "cython>=3.1.0" cmake
5959
pip install ${{ matrix.numpy_version }}
6060
6161
- name: List oneAPI folder content

‎.github/workflows/build-with-standard-clang.yml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313

1414
strategy:
1515
matrix:
16-
python: ["3.10", "3.11", "3.12", "3.13", "3.14"]
16+
python: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.14t"]
1717
numpy_version: ["'numpy>=2'"]
1818

1919
env:
@@ -46,7 +46,7 @@ jobs:
4646

4747
- name: Install mkl_umath dependencies
4848
run: |
49-
pip install meson-python ninja cmake cython mkl-devel
49+
pip install meson-python ninja cmake "cython>=3.1.0" mkl-devel
5050
pip install ${{ matrix.numpy_version }}
5151
5252
- name: Build mkl_umath

‎.github/workflows/build_pip.yml‎

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,21 @@ jobs:
1717

1818
strategy:
1919
matrix:
20-
python: ['3.10', '3.11', '3.12', '3.13', '3.14']
20+
python: ['3.10', '3.11', '3.12', '3.13']
2121
use_pre: ["", "--pre"]
22+
include:
23+
- python: "3.14"
24+
python_spec: "3.14.* *_cp314"
25+
use_pre: ""
26+
- python: "3.14"
27+
python_spec: "3.14.* *_cp314"
28+
use_pre: "--pre"
29+
- python: "3.14"
30+
python_spec: "3.14.* *_cp314t"
31+
use_pre: ""
32+
- python: "3.14"
33+
python_spec: "3.14.* *_cp314t"
34+
use_pre: "--pre"
2235

2336
steps:
2437
- name: Checkout repo
@@ -37,13 +50,13 @@ jobs:
3750

3851
- name: Install Compiler and MKL
3952
run: |
40-
conda install mkl-devel dpcpp_linux-64
53+
conda install mkl-devel dpcpp_linux-64 "python=${{ matrix.python_spec || matrix.python }}"
4154
python -c "import sys; print(sys.executable)"
4255
which python
4356
4457
- name: Build with pip
4558
run: |
46-
pip install --no-cache-dir meson-python ninja cmake cython
59+
pip install --no-cache-dir meson-python ninja cmake "cython>=3.1.0"
4760
pip install --no-cache-dir numpy ${{ matrix.use_pre }}
4861
CC=icx pip install -e . --no-build-isolation --no-deps --verbose
4962
pip install --no-cache-dir pytest

‎.github/workflows/conda-package-cf.yml‎

Lines changed: 58 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,12 @@ jobs:
3232
numpy: "2.3"
3333
- python: "3.14"
3434
numpy: "2.3"
35+
python_spec: "3.14.* *_cp314"
36+
python_tag: "3.14"
37+
- python: "3.14"
38+
numpy: "2.3"
39+
python_spec: "3.14.* *_cp314t"
40+
python_tag: "3.14t"
3541
steps:
3642
- name: Cancel Previous Runs
3743
uses: styfle/cancel-workflow-action@d07a454dad7609a92316b57b23c9ccfd4f59af66 # 0.13.1
@@ -52,9 +58,9 @@ jobs:
5258
with:
5359
path: ~/.conda/pkgs
5460
key:
55-
${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-python-${{ matrix.python }}-${{hashFiles('**/meta.yaml') }}
61+
${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-python-${{ matrix.python_tag || matrix.python }}-${{hashFiles('**/meta.yaml') }}
5662
restore-keys: |
57-
${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-python-${{ matrix.python }}-
63+
${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-python-${{ matrix.python_tag || matrix.python }}-
5864
${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-
5965
6066
- name: Add conda to system path
@@ -78,7 +84,7 @@ jobs:
7884
- name: Build conda package
7985
run: |
8086
CHANNELS=(-c "conda-forge" --override-channels)
81-
VERSIONS=(--python "${{ matrix.python }}" --numpy "${{ matrix.numpy }}")
87+
VERSIONS=(--python "${{ matrix.python_spec || matrix.python }}" --numpy "${{ matrix.numpy }}")
8288
TEST=(--no-test)
8389
echo "CONDA_BLD=${CONDA}/conda-bld/linux-64" >> "$GITHUB_ENV"
8490
@@ -91,7 +97,7 @@ jobs:
9197
- name: Upload artifact
9298
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
9399
with:
94-
name: ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python }}
100+
name: ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python_tag || matrix.python }}
95101
path: ${{ env.CONDA_BLD }}/${{ env.PACKAGE_NAME }}-*.conda
96102

97103
test_linux:
@@ -100,10 +106,23 @@ jobs:
100106

101107
strategy:
102108
matrix:
103-
python: ["3.10", "3.11", "3.12", "3.13", "3.14"]
109+
python: ["3.10", "3.11", "3.12", "3.13"]
104110
numpy: ['numpy">=2"']
105111
experimental: [false]
106112
runner: [ubuntu-latest]
113+
include:
114+
- python: "3.14"
115+
python_spec: "3.14.* *_cp314"
116+
python_tag: "3.14"
117+
numpy: 'numpy">=2"'
118+
experimental: false
119+
runner: ubuntu-latest
120+
- python: "3.14"
121+
python_spec: "3.14.* *_cp314t"
122+
python_tag: "3.14t"
123+
numpy: 'numpy">=2"'
124+
experimental: false
125+
runner: ubuntu-latest
107126
continue-on-error: ${{ matrix.experimental }}
108127
env:
109128
CHANNELS: -c conda-forge --override-channels
@@ -112,7 +131,7 @@ jobs:
112131
- name: Download artifact
113132
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
114133
with:
115-
name: ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python }}
134+
name: ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python_tag || matrix.python }}
116135
- name: Update conda
117136
run: |
118137
conda update -n base --all
@@ -142,7 +161,7 @@ jobs:
142161
run: |
143162
CHANNELS=(-c "$GITHUB_WORKSPACE/channel" -c "conda-forge" --override-channels)
144163
PACKAGE_VERSION="$(python -c "${VER_SCRIPT1} ${VER_SCRIPT2}")"
145-
conda create -n "${{ env.TEST_ENV_NAME }}" "${PACKAGE_NAME}=${PACKAGE_VERSION}" "python=${{ matrix.python }}" ${{ matrix.numpy }} "${CHANNELS[@]}" --only-deps --dry-run > lockfile
164+
conda create -n "${{ env.TEST_ENV_NAME }}" "${PACKAGE_NAME}=${PACKAGE_VERSION}" "python=${{ matrix.python_spec || matrix.python }}" ${{ matrix.numpy }} "${CHANNELS[@]}" --only-deps --dry-run > lockfile
146165
- name: Display lockfile
147166
run: cat lockfile
148167

@@ -157,16 +176,16 @@ jobs:
157176
with:
158177
path: ~/.conda/pkgs
159178
key:
160-
${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-python-${{ matrix.python }}-${{hashFiles('lockfile') }}
179+
${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-python-${{ matrix.python_tag || matrix.python }}-${{hashFiles('lockfile') }}
161180
restore-keys: |
162-
${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-python-${{ matrix.python }}-
181+
${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-python-${{ matrix.python_tag || matrix.python }}-
163182
${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-
164183
165184
- name: Install mkl_umath
166185
run: |
167186
CHANNELS=(-c "$GITHUB_WORKSPACE/channel" -c "conda-forge" --override-channels)
168187
PACKAGE_VERSION="$(python -c "${VER_SCRIPT1} ${VER_SCRIPT2}")"
169-
conda create -n "${{ env.TEST_ENV_NAME }}" "python=${{ matrix.python }}" ${{ matrix.numpy }} "$PACKAGE_NAME=${PACKAGE_VERSION}" pytest "${CHANNELS[@]}"
188+
conda create -n "${{ env.TEST_ENV_NAME }}" "python=${{ matrix.python_spec || matrix.python }}" ${{ matrix.numpy }} "$PACKAGE_NAME=${PACKAGE_VERSION}" pytest "${CHANNELS[@]}"
170189
# Test installed packages
171190
conda list -n "${{ env.TEST_ENV_NAME }}"
172191
@@ -198,6 +217,12 @@ jobs:
198217
numpy: "2.3"
199218
- python: "3.14"
200219
numpy: "2.3"
220+
python_spec: "3.14.* *_cp314"
221+
python_tag: "3.14"
222+
- python: "3.14"
223+
numpy: "2.3"
224+
python_spec: "3.14.* *_cp314t"
225+
python_tag: "3.14t"
201226
env:
202227
conda-bld: C:\Miniconda\conda-bld\win-64\
203228
steps:
@@ -225,9 +250,9 @@ jobs:
225250
with:
226251
path: /home/runner/conda_pkgs_dir
227252
key:
228-
${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-python-${{ matrix.python }}-${{hashFiles('**/meta.yaml') }}
253+
${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-python-${{ matrix.python_tag || matrix.python }}-${{hashFiles('**/meta.yaml') }}
229254
restore-keys: |
230-
${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-python-${{ matrix.python }}-
255+
${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-python-${{ matrix.python_tag || matrix.python }}-
231256
${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-
232257
233258
- name: Store conda paths as envs
@@ -244,12 +269,12 @@ jobs:
244269
- name: Build conda package
245270
run: |
246271
conda activate
247-
conda build --no-test --python ${{ matrix.python }} --numpy ${{ matrix.numpy }} -c conda-forge --override-channels conda-recipe-cf
272+
conda build --no-test --python "${{ matrix.python_spec || matrix.python }}" --numpy ${{ matrix.numpy }} -c conda-forge --override-channels conda-recipe-cf
248273
249274
- name: Upload artifact
250275
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
251276
with:
252-
name: ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python }}
277+
name: ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python_tag || matrix.python }}
253278
path: ${{ env.CONDA_BLD }}${{ env.PACKAGE_NAME }}-*.conda
254279

255280
test_windows:
@@ -260,10 +285,23 @@ jobs:
260285
shell: cmd /C CALL {0}
261286
strategy:
262287
matrix:
263-
python: ["3.10", "3.11", "3.12", "3.13", "3.14"]
288+
python: ["3.10", "3.11", "3.12", "3.13"]
264289
numpy: ['numpy">=2"']
265290
experimental: [false]
266291
runner: [windows-latest]
292+
include:
293+
- python: "3.14"
294+
python_spec: "3.14.* *_cp314"
295+
python_tag: "3.14"
296+
numpy: 'numpy">=2"'
297+
experimental: false
298+
runner: windows-latest
299+
- python: "3.14"
300+
python_spec: "3.14.* *_cp314t"
301+
python_tag: "3.14t"
302+
numpy: 'numpy">=2"'
303+
experimental: false
304+
runner: windows-latest
267305
continue-on-error: ${{ matrix.experimental }}
268306
env:
269307
workdir: '${{ github.workspace }}'
@@ -273,7 +311,7 @@ jobs:
273311
- name: Download artifact
274312
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
275313
with:
276-
name: ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python }}
314+
name: ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python_tag || matrix.python }}
277315

278316
- uses: conda-incubator/setup-miniconda@8ee1f361103df19b6f8c8655fd3967a8ecb162d5 # v4.0.1
279317
with:
@@ -339,7 +377,7 @@ jobs:
339377
FOR /F "tokens=* USEBACKQ" %%F IN (`python -c "%SCRIPT%"`) DO (
340378
SET PACKAGE_VERSION=%%F
341379
)
342-
conda install -n ${{ env.TEST_ENV_NAME }} ${{ env.PACKAGE_NAME }}=%PACKAGE_VERSION% python=${{ matrix.python }} ${{ matrix.numpy }} -c ${{ env.workdir }}/channel ${{ env.CHANNELS }} --only-deps --dry-run > lockfile
380+
conda install -n ${{ env.TEST_ENV_NAME }} ${{ env.PACKAGE_NAME }}=%PACKAGE_VERSION% "python=${{ matrix.python_spec || matrix.python }}" ${{ matrix.numpy }} -c ${{ env.workdir }}/channel ${{ env.CHANNELS }} --only-deps --dry-run > lockfile
343381
344382
- name: Display lockfile content
345383
shell: pwsh
@@ -352,9 +390,9 @@ jobs:
352390
with:
353391
path: /home/runner/conda_pkgs_dir
354392
key:
355-
${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-python-${{ matrix.python }}-${{hashFiles('lockfile') }}
393+
${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-python-${{ matrix.python_tag || matrix.python }}-${{hashFiles('lockfile') }}
356394
restore-keys: |
357-
${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-python-${{ matrix.python }}-
395+
${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-python-${{ matrix.python_tag || matrix.python }}-
358396
${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-
359397
360398
- name: Install mkl_umath
@@ -369,7 +407,7 @@ jobs:
369407
SET PACKAGE_VERSION=%%F
370408
)
371409
SET "TEST_DEPENDENCIES=pytest pytest-cov"
372-
conda install -n ${{ env.TEST_ENV_NAME }} ${{ env.PACKAGE_NAME }}=%PACKAGE_VERSION% %TEST_DEPENDENCIES% python=${{ matrix.python }} ${{ matrix.numpy }} -c ${{ env.workdir }}/channel ${{ env.CHANNELS }}
410+
conda install -n ${{ env.TEST_ENV_NAME }} ${{ env.PACKAGE_NAME }}=%PACKAGE_VERSION% %TEST_DEPENDENCIES% "python=${{ matrix.python_spec || matrix.python }}" ${{ matrix.numpy }} -c ${{ env.workdir }}/channel ${{ env.CHANNELS }}
373411
374412
- name: Report content of test environment
375413
shell: cmd /C CALL {0}

0 commit comments

Comments
 (0)