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
1819jobs :
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 \
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 : |
0 commit comments