1313 # Follow oneAPI installation instruction for conda, since intel channel is not longer available
1414 # CHANNELS: '-c dppy/label/dev -c intel -c conda-forge --override-channels'
1515 CHANNELS : ' -c dppy/label/dev -c https://software.repos.intel.com/python/conda/ -c conda-forge --override-channels'
16+ CONDA_BUILD_INDEX_ENV_PY_VER : ' 3.12' # conda does not support python 3.13
1617 CONDA_BUILD_VERSION : ' 24.11.2'
1718 CONDA_INDEX_VERSION : ' 0.5.0'
1819 RERUN_TESTS_ON_FAILURE : ' true'
2425
2526jobs :
2627 build :
27- name : Build ['${{ matrix.os }}', python='${{ matrix.python }}']
28+ name : Build
2829
2930 strategy :
3031 matrix :
31- python : ['3.9', '3.10', '3.11', '3.12']
32+ python : ['3.9', '3.10', '3.11', '3.12', '3.13' ]
3233 os : [ubuntu-22.04, windows-2019]
3334
3435 permissions :
@@ -55,18 +56,27 @@ jobs:
5556 fetch-depth : 0
5657
5758 - name : Setup miniconda
59+ id : setup_miniconda
60+ continue-on-error : true
5861 uses : conda-incubator/setup-miniconda@d2e6a045a86077fb6cad6f5adf368e9076ddaa8d # v3.1.0
5962 with :
6063 miniforge-version : latest
6164 use-mamba : ' true'
6265 channels : conda-forge
6366 conda-remove-defaults : ' true'
64- python-version : ${{ matrix.python }}
67+ python-version : ${{ env.CONDA_BUILD_INDEX_ENV_PY_VER }}
6568 activate-environment : ' build'
6669
67- # Sometimes `mamba install ...` fails due to slow download speed rate, so disable the check in mamba
68- - name : Disable speed limit check in mamba
69- run : echo "MAMBA_NO_LOW_SPEED_LIMIT=1" >> $GITHUB_ENV
70+ - name : ReSetup miniconda
71+ if : steps.setup_miniconda.outcome == 'failure'
72+ uses : conda-incubator/setup-miniconda@d2e6a045a86077fb6cad6f5adf368e9076ddaa8d # v3.1.0
73+ with :
74+ miniforge-version : latest
75+ use-mamba : ' true'
76+ channels : conda-forge
77+ conda-remove-defaults : ' true'
78+ python-version : ${{ env.CONDA_BUILD_INDEX_ENV_PY_VER}}
79+ activate-environment : ' build'
7080
7181 - name : Store conda paths as envs
7282 shell : bash -el {0}
7585 echo "WHEELS_OUTPUT_FOLDER=$GITHUB_WORKSPACE${{ runner.os == 'Linux' && '/' || '\\' }}" >> $GITHUB_ENV
7686
7787 - name : Install conda-build
88+ id : install_conda_build
89+ continue-on-error : true
90+ run : mamba install conda-build=${{ env.CONDA_BUILD_VERSION}}
91+
92+ - name : ReInstall conda-build
93+ if : steps.install_conda_build.outcome == 'failure'
7894 run : mamba install conda-build=${{ env.CONDA_BUILD_VERSION}}
7995
8096 - name : Build conda package
@@ -83,31 +99,32 @@ jobs:
8399 MAX_BUILD_CMPL_MKL_VERSION : ' 2025.1a0'
84100
85101 - name : Upload artifact
86- uses : actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
102+ uses : actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
87103 with :
88104 name : ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python }}
89105 path : ${{ env.CONDA_BLD }}${{ env.PACKAGE_NAME }}-*.tar.bz2
90106
91107 - name : Upload wheels artifact
92- uses : actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
108+ uses : actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
93109 with :
94110 name : ${{ env.PACKAGE_NAME }} ${{ runner.os }} Wheels Python ${{ matrix.python }}
95111 path : ${{ env.WHEELS_OUTPUT_FOLDER }}${{ env.PACKAGE_NAME }}-*.whl
96112
97113 test_linux :
98- name : Test ['ubuntu-latest', python='${{ matrix.python }}']
114+ name : Test
99115
100116 needs : build
101117
102- runs-on : ubuntu-latest
118+ runs-on : ${{ matrix.os }}
103119
104120 defaults :
105121 run :
106122 shell : bash -el {0}
107123
108124 strategy :
109125 matrix :
110- python : ['3.9', '3.10', '3.11', '3.12']
126+ python : ['3.9', '3.10', '3.11', '3.12', '3.13']
127+ os : [ubuntu-latest]
111128
112129 continue-on-error : true
113130
@@ -136,7 +153,7 @@ jobs:
136153 use-mamba : ' true'
137154 channels : conda-forge
138155 conda-remove-defaults : ' true'
139- python-version : ${{ matrix.python }}
156+ python-version : ${{ env.CONDA_BUILD_INDEX_ENV_PY_VER }}
140157 activate-environment : ${{ env.TEST_ENV_NAME }}
141158
142159 - name : Install conda-index
@@ -158,8 +175,13 @@ jobs:
158175 echo PACKAGE_VERSION=${PACKAGE_VERSION}
159176 echo "PACKAGE_VERSION=$PACKAGE_VERSION" >> $GITHUB_ENV
160177
178+ # conda-index does not support python 3.13
179+ - name : Remove conda-index
180+ run : mamba remove conda-index
181+
161182 - name : Install dpnp
162- run : mamba install ${{ env.PACKAGE_NAME }}=${{ env.PACKAGE_VERSION }} pytest python=${{ matrix.python }} ${{ env.TEST_CHANNELS }}
183+ run : |
184+ mamba install ${{ env.PACKAGE_NAME }}=${{ env.PACKAGE_VERSION }} pytest python=${{ matrix.python }} ${{ env.TEST_CHANNELS }}
163185 env :
164186 TEST_CHANNELS : ' -c ${{ env.channel-path }} ${{ env.CHANNELS }}'
165187 MAMBA_NO_LOW_SPEED_LIMIT : 1
@@ -193,19 +215,20 @@ jobs:
193215 python -m pytest -ra --pyargs ${{ env.PACKAGE_NAME }}.tests
194216
195217 test_windows :
196- name : Test ['windows-2019', python='${{ matrix.python }}']
218+ name : Test
197219
198220 needs : build
199221
200- runs-on : windows-2019
222+ runs-on : ${{ matrix.os }}
201223
202224 defaults :
203225 run :
204226 shell : cmd /C CALL {0}
205227
206228 strategy :
207229 matrix :
208- python : ['3.9', '3.10', '3.11', '3.12']
230+ python : ['3.9', '3.10', '3.11', '3.12', '3.13']
231+ os : [windows-2019]
209232
210233 continue-on-error : true
211234
@@ -244,7 +267,7 @@ jobs:
244267 use-mamba : ' true'
245268 channels : conda-forge
246269 conda-remove-defaults : ' true'
247- python-version : ${{ matrix.python }}
270+ python-version : ${{ env.CONDA_BUILD_INDEX_ENV_PY_VER }}
248271 activate-environment : ${{ env.TEST_ENV_NAME }}
249272
250273 - name : Store conda paths as envs
@@ -279,6 +302,10 @@ jobs:
279302 echo PACKAGE_VERSION: %PACKAGE_VERSION%
280303 (echo PACKAGE_VERSION=%PACKAGE_VERSION%) >> %GITHUB_ENV%
281304
305+ # conda-index does not support python 3.13
306+ - name : Remove conda-index
307+ run : mamba remove conda-index
308+
282309 - name : Install dpnp
283310 run : |
284311 @echo on
@@ -325,13 +352,13 @@ jobs:
325352 python -m pytest -ra --pyargs ${{ env.PACKAGE_NAME }}.tests
326353
327354 upload :
328- name : Upload ['${{ matrix.os }}', python='${{ matrix.python }}']
355+ name : Upload
329356
330357 needs : [test_linux, test_windows]
331358
332359 strategy :
333360 matrix :
334- python : ['3.9', '3.10', '3.11', '3.12']
361+ python : ['3.9', '3.10', '3.11', '3.12', '3.13' ]
335362 os : [ubuntu-22.04, windows-2019]
336363
337364 runs-on : ${{ matrix.os }}
@@ -406,7 +433,7 @@ jobs:
406433 channels : conda-forge
407434 conda-remove-defaults : ' true'
408435 run-post : ' false'
409- python-version : ' 3.12 '
436+ python-version : ' 3.13 '
410437 activate-environment : ' cleanup'
411438
412439 - name : Install anaconda-client
0 commit comments