1616 CONDA_BUILD_INDEX_ENV_PY_VER : ' 3.12' # conda does not support python 3.13
1717 CONDA_BUILD_VERSION : ' 25.1.1'
1818 CONDA_INDEX_VERSION : ' 0.5.0'
19+ CONDA_CPH_VERSION : ' 2.4.0'
1920 RERUN_TESTS_ON_FAILURE : ' true'
2021 RUN_TESTS_MAX_ATTEMPTS : 2
2122 TEST_ENV_NAME : ' test'
@@ -101,7 +102,7 @@ jobs:
101102 uses : actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
102103 with :
103104 name : ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python }}
104- path : ${{ env.CONDA_BLD }}${{ env.PACKAGE_NAME }}-*.tar.bz2
105+ path : ${{ env.CONDA_BLD }}${{ env.PACKAGE_NAME }}-*.conda
105106
106107 - name : Upload wheels artifact
107108 uses : actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
@@ -139,11 +140,6 @@ jobs:
139140 name : ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python }}
140141 path : ${{ env.pkg-path-in-channel }}
141142
142- - name : Extract package archive
143- run : |
144- mkdir -p ${{ env.extracted-pkg-path }}
145- tar -xvf ${{ env.pkg-path-in-channel }}/${{ env.PACKAGE_NAME }}-*.tar.bz2 -C ${{ env.extracted-pkg-path }}
146-
147143 - name : Setup miniconda
148144 id : setup_miniconda
149145 continue-on-error : true
@@ -167,8 +163,14 @@ jobs:
167163 python-version : ${{ env.CONDA_BUILD_INDEX_ENV_PY_VER}}
168164 activate-environment : ${{ env.TEST_ENV_NAME }}
169165
170- - name : Install conda-index
171- run : mamba install conda-index=${{ env.CONDA_INDEX_VERSION }}
166+ - name : Install conda-index and conda-package-handling
167+ run : |
168+ mamba install conda-index=${{ env.CONDA_INDEX_VERSION }} conda-package-handling=${{ env.CONDA_CPH_VERSION }}
169+
170+ - name : Extract package archive
171+ run : |
172+ mkdir -p ${{ env.extracted-pkg-path }}
173+ cph extract ${{ env.pkg-path-in-channel }}/${{ env.PACKAGE_NAME }}-*.conda --dest ${{ env.extracted-pkg-path }}
172174
173175 - name : Create conda channel
174176 run : |
@@ -264,19 +266,17 @@ jobs:
264266 name : ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python }}
265267 path : ${{ env.pkg-path-in-channel }}
266268
267- - name : Extract package archive
269+ - name : Store a path to package archive
268270 run : |
269271 @echo on
270272 mkdir -p ${{ env.extracted-pkg-path }}
271273
272- set SEARCH_SCRIPT="DIR ${{ env.pkg-path-in-channel }} /s/b | FINDSTR /r "dpnp-.*\.tar\.bz2 ""
274+ set SEARCH_SCRIPT="DIR ${{ env.pkg-path-in-channel }} /s/b | FINDSTR /r "dpnp-.*\.conda ""
273275 FOR /F "tokens=* USEBACKQ" %%F IN (`%SEARCH_SCRIPT%`) DO (
274276 SET FULL_PACKAGE_PATH=%%F
275277 )
276278 echo FULL_PACKAGE_PATH: %FULL_PACKAGE_PATH%
277-
278- python -c "import shutil; shutil.unpack_archive(r\"%FULL_PACKAGE_PATH%\", extract_dir=r\"${{ env.extracted-pkg-path }}\")"
279- dir ${{ env.extracted-pkg-path }}
279+ (echo FULL_PACKAGE_PATH=%FULL_PACKAGE_PATH%) >> %GITHUB_ENV%
280280
281281 - name : Setup miniconda
282282 uses : conda-incubator/setup-miniconda@505e6394dae86d6a5c7fbb6e3fb8938e3e863830 # v3.1.1
@@ -294,8 +294,14 @@ jobs:
294294 (echo CONDA_LIB_PATH=%CONDA_PREFIX%\Library\lib\) >> %GITHUB_ENV%
295295 (echo CONDA_LIB_BIN_PATH=%CONDA_PREFIX%\Library\bin\) >> %GITHUB_ENV%
296296
297- - name : Install conda-index
298- run : mamba install conda-index=${{ env.CONDA_INDEX_VERSION }}
297+ - name : Install conda-index and conda-package-handling
298+ run : |
299+ mamba install conda-index=${{ env.CONDA_INDEX_VERSION }} conda-package-handling=${{ env.CONDA_CPH_VERSION }}
300+
301+ - name : Extract package archive
302+ run : |
303+ cph extract %FULL_PACKAGE_PATH% --dest ${{ env.extracted-pkg-path }}
304+ dir ${{ env.extracted-pkg-path }}
299305
300306 - name : Create conda channel
301307 run : |
@@ -418,11 +424,11 @@ jobs:
418424 - name : Package version
419425 shell : bash -el {0}
420426 run : |
421- echo "PACKAGE_VERSION=$(basename ${{ env.PACKAGE_NAME }}-*.tar.bz2 | sed 's/^${{ env.PACKAGE_NAME }}-\([^-]*\).*/\1/')" >> $GITHUB_ENV
427+ echo "PACKAGE_VERSION=$(basename ${{ env.PACKAGE_NAME }}-*.conda | sed 's/^${{ env.PACKAGE_NAME }}-\([^-]*\).*/\1/')" >> $GITHUB_ENV
422428
423429 - name : Upload
424430 run : |
425- anaconda --token ${{ env.ANACONDA_TOKEN }} upload --user dppy --label dev ${{ env.PACKAGE_NAME }}-*.tar.bz2
431+ anaconda --token ${{ env.ANACONDA_TOKEN }} upload --user dppy --label dev ${{ env.PACKAGE_NAME }}-*.conda
426432 env :
427433 ANACONDA_TOKEN : ${{ secrets.ANACONDA_TOKEN }}
428434
@@ -471,11 +477,6 @@ jobs:
471477 name : ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python }}
472478 path : ${{ env.pkg-path-in-channel }}
473479
474- - name : Extract package archive
475- run : |
476- mkdir -p ${{ env.extracted-pkg-path }}
477- tar -xvf ${{ env.pkg-path-in-channel }}/${{ env.PACKAGE_NAME }}-*.tar.bz2 -C ${{ env.extracted-pkg-path }}
478-
479480 - name : Setup miniconda
480481 id : setup_miniconda
481482 continue-on-error : true
@@ -499,14 +500,21 @@ jobs:
499500 python-version : ${{ matrix.python }}
500501 activate-environment : ' array-api-conformity'
501502
502- - name : Install conda-index
503+ - name : Install conda-index and conda-package-handling
503504 id : install_conda_index
504505 continue-on-error : true
505- run : mamba install conda-index=${{ env.CONDA_INDEX_VERSION }}
506+ run : |
507+ mamba install conda-index=${{ env.CONDA_INDEX_VERSION }} conda-package-handling=${{ env.CONDA_CPH_VERSION }}
506508
507- - name : ReInstall conda-index
509+ - name : ReInstall conda-index and conda-package-handling
508510 if : steps.install_conda_index.outcome == 'failure'
509- run : mamba install conda-index=${{ env.CONDA_INDEX_VERSION }}
511+ run : |
512+ mamba install conda-index=${{ env.CONDA_INDEX_VERSION }} conda-package-handling=${{ env.CONDA_CPH_VERSION }}
513+
514+ - name : Extract package archive
515+ run : |
516+ mkdir -p ${{ env.extracted-pkg-path }}
517+ cph extract ${{ env.pkg-path-in-channel }}/${{ env.PACKAGE_NAME }}-*.conda --dest ${{ env.extracted-pkg-path }}
510518
511519 - name : Create conda channel
512520 run : |
0 commit comments