Skip to content

Commit 479f9ec

Browse files
Merge branch 'master' into task/SAT-8469
2 parents 15c3ebb + 38ed4cf commit 479f9ec

7 files changed

Lines changed: 104 additions & 50 deletions

File tree

.github/workflows/conda-package.yml

Lines changed: 93 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,24 @@ env:
1414
TEST_ENV_NAME: test_mkl_fft
1515
VER_SCRIPT1: "import json; f = open('ver.json', 'r'); j = json.load(f); f.close(); d = j['mkl_fft'][0];"
1616
VER_SCRIPT2: "print('='.join((d[s] for s in ('version', 'build'))))"
17+
CONDA_BUILD_VERSION: 26.3.0
1718

1819
jobs:
1920
build_linux:
2021
runs-on: ubuntu-latest
2122
strategy:
2223
matrix:
23-
python: ["3.10", "3.11", "3.12", "3.13", "3.14"]
24+
include:
25+
- python: "3.10"
26+
numpy: "2.2"
27+
- python: "3.11"
28+
numpy: "2.3"
29+
- python: "3.12"
30+
numpy: "2.3"
31+
- python: "3.13"
32+
numpy: "2.3"
33+
- python: "3.14"
34+
numpy: "2.3"
2435
steps:
2536
- name: Cancel Previous Runs
2637
uses: styfle/cancel-workflow-action@d07a454dad7609a92316b57b23c9ccfd4f59af66 # 0.13.1
@@ -50,13 +61,25 @@ jobs:
5061
- name: Add conda to system path
5162
run: echo "$CONDA"/bin >> "$GITHUB_PATH"
5263

64+
- name: Update conda
65+
run: |
66+
conda update -n base --all
67+
5368
- name: Install conda-build
54-
run: conda install conda-build
69+
run: conda install -n base conda-build=${{ env.CONDA_BUILD_VERSION }} -c conda-forge --override-channels
70+
71+
- name: Show Conda info
72+
run: |
73+
conda info --all
74+
75+
- name: List base environment packages
76+
run: |
77+
conda list -n base
5578
5679
- name: Build conda package
5780
run: |
5881
CHANNELS=(-c https://software.repos.intel.com/python/conda -c conda-forge --override-channels)
59-
VERSIONS=(--python "${{ matrix.python }}")
82+
VERSIONS=(--python "${{ matrix.python }}" --numpy "${{ matrix.numpy }}")
6083
TEST=(--no-test)
6184
6285
conda build \
@@ -78,6 +101,7 @@ jobs:
78101
strategy:
79102
matrix:
80103
python: ["3.10", "3.11", "3.12", "3.13", "3.14"]
104+
numpy: ['numpy">=2"']
81105
experimental: [false]
82106
runner: [ubuntu-latest]
83107
continue-on-error: ${{ matrix.experimental }}
@@ -93,8 +117,21 @@ jobs:
93117
- name: Add conda to system path
94118
run: echo "$CONDA"/bin >> "$GITHUB_PATH"
95119

96-
- name: Install conda-build
97-
run: conda install conda-build
120+
- name: Update conda
121+
run: |
122+
conda update -n base --all
123+
124+
- name: Install conda-index
125+
run: |
126+
conda install -n base conda-index -c conda-forge --override-channels
127+
128+
- name: Show Conda info
129+
run: |
130+
conda info --all
131+
132+
- name: List base environment packages
133+
run: |
134+
conda list -n base
98135
99136
- name: Create conda channel
100137
run: |
@@ -107,18 +144,12 @@ jobs:
107144
conda search "$PACKAGE_NAME" -c "$GITHUB_WORKSPACE"/channel --override-channels --info --json > "$GITHUB_WORKSPACE"/ver.json
108145
cat "$GITHUB_WORKSPACE"/ver.json
109146
110-
- name: Get package version
111-
run: |
112-
PACKAGE_VERSION=$(python -c "${{ env.VER_SCRIPT1 }} ${{ env.VER_SCRIPT2 }}")
113-
export PACKAGE_VERSION
114-
115-
echo PACKAGE_VERSION="${PACKAGE_VERSION}"
116-
echo "PACKAGE_VERSION=$PACKAGE_VERSION" >> "$GITHUB_ENV"
117-
118147
- name: Collect dependencies
119148
run: |
149+
PACKAGE_VERSION="$(python -c "${VER_SCRIPT1} ${VER_SCRIPT2}")"
150+
export PACKAGE_VERSION
120151
CHANNELS=(-c "$GITHUB_WORKSPACE"/channel ${{ env.CHANNELS }})
121-
conda create -n ${{ env.TEST_ENV_NAME }} "$PACKAGE_NAME" python=${{ matrix.python }} "${CHANNELS[@]}" --only-deps --dry-run > lockfile
152+
conda create -n ${{ env.TEST_ENV_NAME }} "${PACKAGE_NAME}=${PACKAGE_VERSION}" python=${{ matrix.python }} ${{ matrix.numpy }} "${CHANNELS[@]}" --only-deps --dry-run > lockfile
122153
123154
- name: Display lockfile
124155
run: cat lockfile
@@ -142,7 +173,9 @@ jobs:
142173
- name: Install mkl_fft
143174
run: |
144175
CHANNELS=(-c "$GITHUB_WORKSPACE"/channel ${{ env.CHANNELS }})
145-
conda create -n ${{ env.TEST_ENV_NAME }} "$PACKAGE_NAME"=${{ env.PACKAGE_VERSION }} python=${{ matrix.python }} pytest "${CHANNELS[@]}"
176+
PACKAGE_VERSION="$(python -c "${VER_SCRIPT1} ${VER_SCRIPT2}")"
177+
export PACKAGE_VERSION
178+
conda create -n ${{ env.TEST_ENV_NAME }} "${PACKAGE_NAME}=${PACKAGE_VERSION}" python=${{ matrix.python }} ${{ matrix.numpy }} pytest "${CHANNELS[@]}"
146179
conda install -n ${{ env.TEST_ENV_NAME }} "scipy>=1.10" "mkl-service" "${CHANNELS[@]}"
147180
# Test installed packages
148181
conda list -n ${{ env.TEST_ENV_NAME }}
@@ -160,7 +193,17 @@ jobs:
160193
shell: cmd /C CALL {0}
161194
strategy:
162195
matrix:
163-
python: ["3.10", "3.11", "3.12", "3.13", "3.14"]
196+
include:
197+
- python: "3.10"
198+
numpy: "2.2"
199+
- python: "3.11"
200+
numpy: "2.3"
201+
- python: "3.12"
202+
numpy: "2.3"
203+
- python: "3.13"
204+
numpy: "2.3"
205+
- python: "3.14"
206+
numpy: "2.3"
164207
steps:
165208
- name: Cancel Previous Runs
166209
uses: styfle/cancel-workflow-action@d07a454dad7609a92316b57b23c9ccfd4f59af66 # 0.13.1
@@ -173,15 +216,12 @@ jobs:
173216

174217
- uses: conda-incubator/setup-miniconda@8ee1f361103df19b6f8c8655fd3967a8ecb162d5 # v4.0.1
175218
with:
219+
auto-update-conda: true
176220
miniforge-version: latest
177221
activate-environment: build
178222
channels: conda-forge
179223
python-version: ${{ matrix.python }}
180-
181-
- name: Install conda-build
182-
run: |
183-
conda install -n base -y conda-build
184-
conda list -n base
224+
conda-build-version: ${{ env.CONDA_BUILD_VERSION }}
185225

186226
- name: Cache conda packages
187227
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
@@ -195,15 +235,23 @@ jobs:
195235
${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-python-${{ matrix.python }}-
196236
${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-
197237
198-
- name: Build conda package
199-
run: |
200-
conda build --no-test --python ${{ matrix.python }} -c https://software.repos.intel.com/python/conda -c conda-forge --override-channels conda-recipe
201-
202238
- name: Store conda paths as envs
203239
shell: bash -l {0}
204240
run: |
205241
echo "CONDA_BLD=$CONDA/conda-bld/win-64/" | tr "\\\\" '/' >> "$GITHUB_ENV"
206242
243+
- name: Show Conda info
244+
run: |
245+
conda info --all
246+
247+
- name: List base environment packages
248+
run: |
249+
conda list -n base
250+
251+
- name: Build conda package
252+
run: |
253+
conda build --no-test --python ${{ matrix.python }} --numpy ${{ matrix.numpy }} -c https://software.repos.intel.com/python/conda -c conda-forge --override-channels conda-recipe
254+
207255
- name: Upload artifact
208256
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
209257
with:
@@ -220,6 +268,7 @@ jobs:
220268
strategy:
221269
matrix:
222270
python: ["3.10", "3.11", "3.12", "3.13", "3.14"]
271+
numpy: ['numpy">=2"']
223272
experimental: [false]
224273
runner: [windows-latest]
225274
continue-on-error: ${{ matrix.experimental }}
@@ -235,11 +284,24 @@ jobs:
235284

236285
- uses: conda-incubator/setup-miniconda@8ee1f361103df19b6f8c8655fd3967a8ecb162d5 # v4.0.1
237286
with:
287+
auto-update-conda: true
238288
miniforge-version: latest
239289
channels: conda-forge
240290
activate-environment: ${{ env.TEST_ENV_NAME }}
241291
python-version: ${{ matrix.python }}
242292

293+
- name: Install conda-index
294+
run: |
295+
conda install -n base conda-index
296+
297+
- name: Show Conda info
298+
run: |
299+
conda info --all
300+
301+
- name: List base environment packages
302+
run: |
303+
conda list -n base
304+
243305
- name: Create conda channel with the artifact bit
244306
shell: cmd /C CALL {0}
245307
run: |
@@ -249,10 +311,6 @@ jobs:
249311
move ${{ env.PACKAGE_NAME }}-*.conda ${{ env.workdir }}\channel\win-64
250312
dir ${{ env.workdir }}\channel\win-64
251313
252-
- name: Install conda index
253-
shell: cmd /C CALL {0}
254-
run: conda install -n base conda-index
255-
256314
- name: Index the channel
257315
shell: cmd /C CALL {0}
258316
run: conda index ${{ env.workdir }}\channel
@@ -277,7 +335,7 @@ jobs:
277335
FOR /F "tokens=* USEBACKQ" %%F IN (`python -c "%SCRIPT%"`) DO (
278336
SET PACKAGE_VERSION=%%F
279337
)
280-
conda install -n ${{ env.TEST_ENV_NAME }} ${{ env.PACKAGE_NAME }}=%PACKAGE_VERSION% python=${{ matrix.python }} -c ${{ env.workdir }}/channel ${{ env.CHANNELS }} --only-deps --dry-run > lockfile
338+
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
281339
282340
- name: Display lockfile content
283341
shell: pwsh
@@ -307,9 +365,12 @@ jobs:
307365
SET PACKAGE_VERSION=%%F
308366
)
309367
SET "TEST_DEPENDENCIES=pytest"
310-
conda install -n ${{ env.TEST_ENV_NAME }} ${{ env.PACKAGE_NAME }}=%PACKAGE_VERSION% %TEST_DEPENDENCIES% python=${{ matrix.python }} -c ${{ env.workdir }}/channel ${{ env.CHANNELS }}
311-
conda install -n ${{ env.TEST_ENV_NAME }} scipy mkl-service -c ${{ env.workdir }}/channel ${{ env.CHANNELS }}
368+
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 }}
312369
}
370+
- name: Install additional test dependencies
371+
shell: cmd /C CALL {0}
372+
run: |
373+
conda install -n ${{ env.TEST_ENV_NAME }} "scipy>=1.10" "mkl-service" -c ${{ env.workdir }}/channel ${{ env.CHANNELS }}
313374
- name: Report content of test environment
314375
shell: cmd /C CALL {0}
315376
run: |

.github/workflows/openssf-scorecard.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,6 @@ jobs:
6969

7070
# Upload the results to GitHub's code scanning dashboard.
7171
- name: "Upload to code-scanning"
72-
uses: github/codeql-action/upload-sarif@95e58e9a2cdfd71adc6e0353d5c52f41a045d225 # v4.35.2
72+
uses: github/codeql-action/upload-sarif@68bde559dea0fdcac2102bfdf6230c5f70eb485e # v4.35.4
7373
with:
7474
sarif_file: results.sarif

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ repos:
5252
exclude: "_vendored/conv_template.py"
5353

5454
- repo: https://github.com/pre-commit/mirrors-clang-format
55-
rev: v22.1.4
55+
rev: v22.1.5
5656
hooks:
5757
- id: clang-format
5858
args: ["-i"]

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
99
### Added
1010

1111
### Changed
12+
* Removed `numpy-base` dependency and `USE_NUMPY_BASE` environment variable from conda recipe [gh-318](https://github.com/IntelPython/mkl_fft/pull/318)
1213

1314
### Fixed
1415

16+
## [2.2.1] - 2026-05-11
17+
18+
### Fixed
19+
* Removed `mkl` as runtime dependency to avoid possible `pip check` failures [gh-322](https://github.com/IntelPython/mkl_fft/pull/322)
20+
1521
## [2.2.0] - 2026-04-16
1622

1723
### Added

conda-recipe-cf/meta.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,10 @@ requirements:
3131

3232
test:
3333
commands:
34+
- pip check
3435
- pytest -v --pyargs mkl_fft
3536
requires:
37+
- pip
3638
- pytest
3739
- scipy >=1.10
3840
- mkl-service

conda-recipe/meta.yaml

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
# Intel numpy-base is still needed for internal wheels CI, so we control its use with this optional toggle
2-
{% set use_numpy_base = environ.get('USE_NUMPY_BASE', 'true').lower() == 'true' %}
3-
41
package:
52
name: mkl_fft
63
version: {{ GIT_DESCRIBE_TAG }}
@@ -14,11 +11,7 @@ build:
1411
- WHEELS_OUTPUT_FOLDER
1512
ignore_run_exports:
1613
- blas
17-
{% if use_numpy_base %}
18-
- numpy-base
19-
{% else %}
2014
- numpy
21-
{% endif %}
2215

2316
requirements:
2417
build:
@@ -31,21 +24,13 @@ requirements:
3124
- setuptools >=77
3225
- mkl-devel
3326
- cython
34-
{% if use_numpy_base %}
35-
- numpy-base
36-
{% else %}
3727
- numpy
38-
{% endif %}
3928
- wheel >=0.41.3
4029
run:
4130
- python
4231
- python-gil # [py>=314]
4332
- {{ pin_compatible('mkl') }}
44-
{% if use_numpy_base %}
45-
- numpy-base
46-
{% else %}
4733
- numpy >=1.26.4
48-
{% endif %}
4934

5035
test:
5136
commands:

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ classifiers = [
5050
"Operating System :: POSIX",
5151
"Operating System :: Unix"
5252
]
53-
dependencies = ["numpy>=1.26.4", "mkl"]
53+
dependencies = ["numpy>=1.26.4"]
5454
description = "MKL-based FFT transforms for NumPy arrays"
5555
dynamic = ["version"]
5656
keywords = ["DFTI", "FFT", "Fourier", "MKL"]

0 commit comments

Comments
 (0)