From bdcbe79323fcbbfef1500570aa6b95cc047ef37d Mon Sep 17 00:00:00 2001 From: Nikita Grigorian Date: Thu, 5 Mar 2026 13:39:28 -0800 Subject: [PATCH 1/3] update recipe maintainers --- conda-recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conda-recipe/meta.yaml b/conda-recipe/meta.yaml index ea420be..c6653f5 100644 --- a/conda-recipe/meta.yaml +++ b/conda-recipe/meta.yaml @@ -56,6 +56,6 @@ about: extra: recipe-maintainers: - - ekomarova - - vtavana + - ndgrigorian + - antonwolfy - xaleryb From 5b9967b411bb5dd3bc3b4fdc4ad4216ec32b151b Mon Sep 17 00:00:00 2001 From: Nikita Grigorian Date: Thu, 5 Mar 2026 13:44:09 -0800 Subject: [PATCH 2/3] add conda-forge workflow --- .github/workflows/conda-package-cf.yml | 303 ++++++++++++++++++++++++ conda-recipe-cf/bld.bat | 32 +++ conda-recipe-cf/build.sh | 32 +++ conda-recipe-cf/conda_build_config.yaml | 16 ++ conda-recipe-cf/meta.yaml | 61 +++++ 5 files changed, 444 insertions(+) create mode 100644 .github/workflows/conda-package-cf.yml create mode 100644 conda-recipe-cf/bld.bat create mode 100644 conda-recipe-cf/build.sh create mode 100644 conda-recipe-cf/conda_build_config.yaml create mode 100644 conda-recipe-cf/meta.yaml diff --git a/.github/workflows/conda-package-cf.yml b/.github/workflows/conda-package-cf.yml new file mode 100644 index 0000000..b464cec --- /dev/null +++ b/.github/workflows/conda-package-cf.yml @@ -0,0 +1,303 @@ +name: Conda package using conda-forge + +on: + push: + branches: + - master + pull_request: + +permissions: read-all + +env: + PACKAGE_NAME: mkl-service + MODULE_NAME: mkl + TEST_ENV_NAME: test_mkl_service + VER_SCRIPT1: "import json; f = open('ver.json', 'r'); j = json.load(f); f.close(); " + VER_SCRIPT2: "d = j['mkl-service'][0]; print('='.join((d[s] for s in ('version', 'build'))))" + +jobs: + build_linux: + runs-on: ubuntu-latest + + strategy: + matrix: + python: ['3.10', '3.11', '3.12', '3.13', '3.14'] + + steps: + - name: Cancel Previous Runs + uses: styfle/cancel-workflow-action@3155a141048f8f89c06b4cdae32e7853e97536bc # 0.13.0 + with: + access_token: ${{ github.token }} + + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + fetch-depth: 0 + + - name: Set pkgs_dirs + run: | + echo "pkgs_dirs: [~/.conda/pkgs]" >> ~/.condarc + + - name: Cache conda packages + uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3 + env: + CACHE_NUMBER: 0 # Increase to reset cache + with: + path: ~/.conda/pkgs + key: + ${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-python-${{ matrix.python }}-${{hashFiles('**/meta.yaml') }} + restore-keys: | + ${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-python-${{ matrix.python }}- + ${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}- + + - name: Add conda to system path + run: echo "$CONDA/bin" >> "$GITHUB_PATH" + + - name: Install conda-build + run: conda install conda-build + + - name: Store conda paths as envs + shell: bash -el {0} + run: | + echo "CONDA_BLD=/usr/share/miniconda/conda-bld/linux-64/" >> "$GITHUB_ENV" + echo "WHEELS_OUTPUT_FOLDER=$GITHUB_WORKSPACE/" >> "$GITHUB_ENV" + + - name: Build conda package + run: | + CHANNELS=(-c conda-forge -c conda-forge/label/python_rc --override-channels) + VERSIONS=(--python "${{ matrix.python }}") + TEST=(--no-test) + + conda build \ + "${TEST[@]}" \ + "${VERSIONS[@]}" \ + "${CHANNELS[@]}" \ + conda-recipe-cf + + - name: Upload artifact + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0 + with: + name: ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python }} + path: ${{ env.CONDA_BLD }}${{ env.PACKAGE_NAME }}-*.conda + + - name: Upload wheels artifact + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0 + with: + name: ${{ env.PACKAGE_NAME }} ${{ runner.os }} Wheels Python ${{ matrix.python }} + path: ${{ env.WHEELS_OUTPUT_FOLDER }}mkl_service-*.whl + + build_windows: + runs-on: windows-latest + + strategy: + matrix: + python: ['3.10', '3.11', '3.12', '3.13', '3.14'] + + steps: + - name: Cancel Previous Runs + uses: styfle/cancel-workflow-action@3155a141048f8f89c06b4cdae32e7853e97536bc # 0.13.0 + with: + access_token: ${{ github.token }} + + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + fetch-depth: 0 + - uses: conda-incubator/setup-miniconda@fc2d68f6413eb2d87b895e92f8584b5b94a10167 # v3.3.0 + with: + miniforge-version: latest + use-mamba: 'true' + conda-remove-defaults: 'true' + activate-environment: 'build' + python-version: '3.13' # no python 3.14 support by conda-build + + - name: Cache conda packages + uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3 + env: + CACHE_NUMBER: 3 # Increase to reset cache + with: + path: /home/runner/conda_pkgs_dir + key: + ${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-python-${{ matrix.python }}-${{hashFiles('**/meta.yaml') }} + restore-keys: | + ${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-python-${{ matrix.python }}- + ${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}- + + - name: Install conda-build + run: conda install conda-build + + - name: Store conda paths as envs + shell: bash -el {0} + run: | + echo "CONDA_BLD=$CONDA_PREFIX\\conda-bld\\win-64\\" >> "$GITHUB_ENV" + echo "WHEELS_OUTPUT_FOLDER=$GITHUB_WORKSPACE\\" >> "$GITHUB_ENV" + + - name: Build conda package + run: conda build --no-test --python ${{ matrix.python }} -c conda-forge -c conda-forge/label/python_rc --override-channels conda-recipe-cf + + - name: Upload artifact + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0 + with: + name: ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python }} + path: ${{ env.CONDA_BLD }}${{ env.PACKAGE_NAME }}-*.conda + + - name: Upload wheels artifact + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0 + with: + name: ${{ env.PACKAGE_NAME }} ${{ runner.os }} Wheels Python ${{ matrix.python }} + path: ${{ env.WHEELS_OUTPUT_FOLDER }}mkl_service-*.whl + + test_linux: + needs: build_linux + runs-on: ${{ matrix.runner }} + + strategy: + matrix: + python: ['3.10', '3.11', '3.12', '3.13', '3.14'] + experimental: [false] + runner: [ubuntu-latest] + continue-on-error: ${{ matrix.experimental }} + env: + CHANNELS: -c conda-forge -c conda-forge/label/python_rc --override-channels + + steps: + - name: Download artifact + uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8.0.0 + with: + name: ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python }} + + - name: Add conda to system path + run: echo "$CONDA/bin" >> "$GITHUB_PATH" + + - name: Install conda-build + run: conda install conda-build + + - name: Create conda channel + run: | + mkdir -p "$GITHUB_WORKSPACE/channel/linux-64" + conda index "$GITHUB_WORKSPACE/channel" || exit 1 + mv "${PACKAGE_NAME}"-*.conda "$GITHUB_WORKSPACE/channel/linux-64" || exit 1 + conda index "$GITHUB_WORKSPACE/channel" || exit 1 + # Test channel + conda search "$PACKAGE_NAME" -c "$GITHUB_WORKSPACE/channel" --override-channels --info --json > "$GITHUB_WORKSPACE/ver.json" + cat ver.json + + - name: Collect dependencies + run: | + . "$CONDA/etc/profile.d/conda.sh" + CHANNELS=(-c "$GITHUB_WORKSPACE/channel" -c conda-forge -c conda-forge/label/python_rc --override-channels) + PACKAGE_VERSION="$(python -c "${VER_SCRIPT1} ${VER_SCRIPT2}")" + export PACKAGE_VERSION + conda create -n "${{ env.TEST_ENV_NAME }}" "$PACKAGE_NAME=$PACKAGE_VERSION" "python=${{ matrix.python }}" "${CHANNELS[@]}" --only-deps --dry-run > lockfile + cat lockfile + + - name: Set pkgs_dirs + run: | + echo "pkgs_dirs: [~/.conda/pkgs]" >> ~/.condarc + + - name: Cache conda packages + uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3 + env: + CACHE_NUMBER: 0 # Increase to reset cache + with: + path: ~/.conda/pkgs + key: + ${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-python-${{ matrix.python }}-${{hashFiles('lockfile') }} + restore-keys: | + ${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-python-${{ matrix.python }}- + ${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}- + + - name: Install mkl-service + run: | + . "$CONDA/etc/profile.d/conda.sh" + CHANNELS=(-c "$GITHUB_WORKSPACE/channel" -c conda-forge -c conda-forge/label/python_rc --override-channels) + PACKAGE_VERSION="$(python -c "${VER_SCRIPT1} ${VER_SCRIPT2}")" + export PACKAGE_VERSION + conda create -n "${{ env.TEST_ENV_NAME }}" "$PACKAGE_NAME=$PACKAGE_VERSION" pytest "python=${{ matrix.python }}" "${CHANNELS[@]}" + # Test installed packages + conda list + + - name: Run tests + run: | + . "$CONDA/etc/profile.d/conda.sh" + conda activate ${{ env.TEST_ENV_NAME }} + pytest -vv --pyargs ${{ env.MODULE_NAME }} + + test_windows: + needs: build_windows + runs-on: ${{ matrix.runner }} + + strategy: + matrix: + python: ['3.10', '3.11', '3.12', '3.13', '3.14'] + experimental: [false] + runner: [windows-latest] + continue-on-error: ${{ matrix.experimental }} + env: + CHANNELS: -c conda-forge -c conda-forge/label/python_rc --override-channels + + steps: + - name: Download artifact + uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8.0.0 + with: + name: ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python }} + - uses: conda-incubator/setup-miniconda@fc2d68f6413eb2d87b895e92f8584b5b94a10167 # v3.3.0 + with: + miniforge-version: latest + use-mamba: 'true' + conda-remove-defaults: 'true' + activate-environment: 'test' + python-version: '3.13' # no python 3.14 support by conda-index + + - name: Install conda-index + run: conda install conda-index + + - name: Create conda channel + run: | + mkdir ${{ env.GITHUB_WORKSPACE }}/channel/win-64 + move ${{ env.PACKAGE_NAME }}-*.conda ${{ env.GITHUB_WORKSPACE }}/channel/win-64 + python -m conda_index "${{ env.GITHUB_WORKSPACE }}/channel" + + # Test channel + conda search ${{ env.PACKAGE_NAME }} -c ${{ env.GITHUB_WORKSPACE }}/channel --override-channels --info --json > ${{ env.GITHUB_WORKSPACE }}/ver.json + more ${{ env.GITHUB_WORKSPACE }}/ver.json + + - name: Collect dependencies + shell: cmd + run: | + @ECHO ON + copy /Y ${{ env.GITHUB_WORKSPACE }}\ver.json . + set "SCRIPT=%VER_SCRIPT1% %VER_SCRIPT2%" + FOR /F "tokens=* USEBACKQ" %%F IN (`python -c "%SCRIPT%"`) DO ( + SET PACKAGE_VERSION=%%F + ) + conda create -n ${{ env.TEST_ENV_NAME }} ${{ env.PACKAGE_NAME }}=%PACKAGE_VERSION% python=${{ matrix.python }} -c ${{ env.GITHUB_WORKSPACE }}/channel ${{ env.CHANNELS }} --only-deps --dry-run > lockfile + more lockfile + + - name: Cache conda packages + uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3 + env: + CACHE_NUMBER: 3 # Increase to reset cache + with: + path: /home/runner/conda_pkgs_dir + key: + ${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-python-${{ matrix.python }}-${{hashFiles('lockfile') }} + restore-keys: | + ${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-python-${{ matrix.python }}- + ${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}- + + - name: Install mkl-service + shell: cmd + run: | + @ECHO ON + copy /Y ${{ env.GITHUB_WORKSPACE }}\ver.json . + set "SCRIPT=%VER_SCRIPT1% %VER_SCRIPT2%" + FOR /F "tokens=* USEBACKQ" %%F IN (`python -c "%SCRIPT%"`) DO ( + SET PACKAGE_VERSION=%%F + ) + conda create -n ${{ env.TEST_ENV_NAME }} ${{ env.PACKAGE_NAME }}=%PACKAGE_VERSION% pytest python=${{ matrix.python }} -c ${{ env.GITHUB_WORKSPACE }}/channel ${{ env.CHANNELS }} + # Test installed packages + conda list + + - name: Run tests + run: | + conda activate -n ${{ env.TEST_ENV_NAME }} + pytest -v --pyargs ${{ env.MODULE_NAME }} diff --git a/conda-recipe-cf/bld.bat b/conda-recipe-cf/bld.bat new file mode 100644 index 0000000..90a55f4 --- /dev/null +++ b/conda-recipe-cf/bld.bat @@ -0,0 +1,32 @@ +echo on +rem set CFLAGS=-I%PREFIX%\Library\include %CFLAGS% +rem set LDFLAGS=/LIBPATH:%PREFIX% %LDFLAGS% + +set MKLROOT=%CONDA_PREFIX% + +"%PYTHON%" setup.py clean --all + +:: Make CMake verbose +set "VERBOSE=1" + +:: -wnx flags mean: --wheel --no-isolation --skip-dependency-check +%PYTHON% -m build -w -n -x +if %ERRORLEVEL% neq 0 exit 1 + +:: wheel file was renamed +for /f %%f in ('dir /b /S .\dist') do ( + %PYTHON% -m pip install %%f ^ + --no-build-isolation ^ + --no-deps ^ + --only-binary :all: ^ + --no-index ^ + --prefix %PREFIX% ^ + -vv + if %ERRORLEVEL% neq 0 exit 1 +) + +:: Copy wheel package +if NOT "%WHEELS_OUTPUT_FOLDER%"=="" ( + copy dist\mkl_service*.whl %WHEELS_OUTPUT_FOLDER% + if %ERRORLEVEL% neq 0 exit 1 +) diff --git a/conda-recipe-cf/build.sh b/conda-recipe-cf/build.sh new file mode 100644 index 0000000..6bfa533 --- /dev/null +++ b/conda-recipe-cf/build.sh @@ -0,0 +1,32 @@ +#!/bin/bash +set -ex + +export MKLROOT=$CONDA_PREFIX + +read -r GLIBC_MAJOR GLIBC_MINOR <<<"$(conda list '^sysroot_linux-64$' \ + | tail -n 1 | awk '{print $2}' | grep -oP '\d+' | head -n 2 | tr '\n' ' ')" + +${PYTHON} setup.py clean --all + +# Make CMake verbose +export VERBOSE=1 + +# -wnx flags mean: --wheel --no-isolation --skip-dependency-check +${PYTHON} -m build -w -n -x + +${PYTHON} -m wheel tags --remove \ + --platform-tag "manylinux_${GLIBC_MAJOR}_${GLIBC_MINOR}_x86_64" \ + dist/mkl_service*.whl + +${PYTHON} -m pip install dist/mkl_service*.whl \ + --no-build-isolation \ + --no-deps \ + --only-binary :all: \ + --no-index \ + --prefix "${PREFIX}" \ + -vv + +# Copy wheel package +if [[ -d "${WHEELS_OUTPUT_FOLDER}" ]]; then + cp dist/mkl_service*.whl "${WHEELS_OUTPUT_FOLDER[@]}" +fi diff --git a/conda-recipe-cf/conda_build_config.yaml b/conda-recipe-cf/conda_build_config.yaml new file mode 100644 index 0000000..d4b34a3 --- /dev/null +++ b/conda-recipe-cf/conda_build_config.yaml @@ -0,0 +1,16 @@ +c_compiler: # [linux] + - gcc # [linux] +cxx_compiler: # [linux] + - gxx # [linux] +cxx_compiler_version: # [linux] + - '14' # [linux] +c_stdlib: # [linux] + - sysroot # [linux] +c_stdlib_version: # [linux] + - '2.28' # [linux] +c_stdlib: # [win] + - vs # [win] +cxx_compiler: # [win] + - vs2022 # [win] +c_compiler: # [win] + - vs2022 # [win] diff --git a/conda-recipe-cf/meta.yaml b/conda-recipe-cf/meta.yaml new file mode 100644 index 0000000..c6653f5 --- /dev/null +++ b/conda-recipe-cf/meta.yaml @@ -0,0 +1,61 @@ +package: + name: mkl-service + version: {{ GIT_DESCRIBE_TAG }} + +source: + path: .. + +build: + number: {{ GIT_DESCRIBE_NUMBER }} + script_env: + - WHEELS_OUTPUT_FOLDER + ignore_run_exports: + - blas + - mkl-service + +requirements: + build: + - {{ compiler('c') }} + - {{ stdlib('c') }} + host: + - python + - python-gil # [py>=314] + - pip >=25.0 + - setuptools >=77 + - mkl-devel + - cython + - wheel >=0.45.1 + - python-build >=1.2.2 + run: + - python + - python-gil # [py>=314] + - {{ pin_compatible('mkl') }} + +test: + requires: + - pytest + imports: + - mkl + commands: + - pytest -vv --pyargs mkl + +about: + home: http://github.com/IntelPython/mkl-service + license: BSD-3-Clause + license_file: LICENSE.txt + summary: Python hooks for IntelĀ® oneAPI Math Kernel Library (oneMKL) runtime control settings + description: | + LEGAL NOTICE: Use of this software package is subject to the + software license agreement (as set forth above, in the license section of + the installed Conda package and/or the README file) and all notices, + disclaimers or license terms for third party or open source software + included in or with the software. +

+ EULA: BSD-3-Clause +

+ +extra: + recipe-maintainers: + - ndgrigorian + - antonwolfy + - xaleryb From caca83eea0c3859a3c87d917aecad5189902a8b1 Mon Sep 17 00:00:00 2001 From: Nikita Grigorian Date: Fri, 6 Mar 2026 01:30:32 -0800 Subject: [PATCH 3/3] fix warnings in windows workflows --- .github/workflows/conda-package-cf.yml | 21 ++++++++++----------- .github/workflows/conda-package.yml | 21 ++++++++++----------- 2 files changed, 20 insertions(+), 22 deletions(-) diff --git a/.github/workflows/conda-package-cf.yml b/.github/workflows/conda-package-cf.yml index b464cec..78c1388 100644 --- a/.github/workflows/conda-package-cf.yml +++ b/.github/workflows/conda-package-cf.yml @@ -104,10 +104,10 @@ jobs: - uses: conda-incubator/setup-miniconda@fc2d68f6413eb2d87b895e92f8584b5b94a10167 # v3.3.0 with: miniforge-version: latest - use-mamba: 'true' - conda-remove-defaults: 'true' - activate-environment: 'build' - python-version: '3.13' # no python 3.14 support by conda-build + auto-activate: true + activate-environment: base + channels: conda-forge + python-version: ${{ matrix.python }} - name: Cache conda packages uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3 @@ -242,10 +242,9 @@ jobs: - uses: conda-incubator/setup-miniconda@fc2d68f6413eb2d87b895e92f8584b5b94a10167 # v3.3.0 with: miniforge-version: latest - use-mamba: 'true' - conda-remove-defaults: 'true' - activate-environment: 'test' - python-version: '3.13' # no python 3.14 support by conda-index + channels: conda-forge + activate-environment: ${{ env.TEST_ENV_NAME }} + python-version: ${{ matrix.python }} - name: Install conda-index run: conda install conda-index @@ -254,7 +253,7 @@ jobs: run: | mkdir ${{ env.GITHUB_WORKSPACE }}/channel/win-64 move ${{ env.PACKAGE_NAME }}-*.conda ${{ env.GITHUB_WORKSPACE }}/channel/win-64 - python -m conda_index "${{ env.GITHUB_WORKSPACE }}/channel" + python -m conda_index ${{ env.GITHUB_WORKSPACE }}/channel # Test channel conda search ${{ env.PACKAGE_NAME }} -c ${{ env.GITHUB_WORKSPACE }}/channel --override-channels --info --json > ${{ env.GITHUB_WORKSPACE }}/ver.json @@ -269,7 +268,7 @@ jobs: FOR /F "tokens=* USEBACKQ" %%F IN (`python -c "%SCRIPT%"`) DO ( SET PACKAGE_VERSION=%%F ) - conda create -n ${{ env.TEST_ENV_NAME }} ${{ env.PACKAGE_NAME }}=%PACKAGE_VERSION% python=${{ matrix.python }} -c ${{ env.GITHUB_WORKSPACE }}/channel ${{ env.CHANNELS }} --only-deps --dry-run > lockfile + conda install -n ${{ env.TEST_ENV_NAME }} ${{ env.PACKAGE_NAME }}=%PACKAGE_VERSION% python=${{ matrix.python }} -c ${{ env.GITHUB_WORKSPACE }}/channel ${{ env.CHANNELS }} --only-deps --dry-run > lockfile more lockfile - name: Cache conda packages @@ -299,5 +298,5 @@ jobs: - name: Run tests run: | - conda activate -n ${{ env.TEST_ENV_NAME }} + conda activate ${{ env.TEST_ENV_NAME }} pytest -v --pyargs ${{ env.MODULE_NAME }} diff --git a/.github/workflows/conda-package.yml b/.github/workflows/conda-package.yml index cc03bfd..38a1e82 100644 --- a/.github/workflows/conda-package.yml +++ b/.github/workflows/conda-package.yml @@ -104,10 +104,10 @@ jobs: - uses: conda-incubator/setup-miniconda@fc2d68f6413eb2d87b895e92f8584b5b94a10167 # v3.3.0 with: miniforge-version: latest - use-mamba: 'true' - conda-remove-defaults: 'true' - activate-environment: 'build' - python-version: '3.13' # no python 3.14 support by conda-build + auto-activate: true + activate-environment: base + channels: conda-forge + python-version: ${{ matrix.python }} - name: Cache conda packages uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3 @@ -242,10 +242,9 @@ jobs: - uses: conda-incubator/setup-miniconda@fc2d68f6413eb2d87b895e92f8584b5b94a10167 # v3.3.0 with: miniforge-version: latest - use-mamba: 'true' - conda-remove-defaults: 'true' - activate-environment: 'test' - python-version: '3.13' # no python 3.14 support by conda-index + channels: conda-forge + activate-environment: ${{ env.TEST_ENV_NAME }} + python-version: ${{ matrix.python }} - name: Install conda-index run: conda install conda-index @@ -254,7 +253,7 @@ jobs: run: | mkdir ${{ env.GITHUB_WORKSPACE }}/channel/win-64 move ${{ env.PACKAGE_NAME }}-*.conda ${{ env.GITHUB_WORKSPACE }}/channel/win-64 - python -m conda_index "${{ env.GITHUB_WORKSPACE }}/channel" + python -m conda_index ${{ env.GITHUB_WORKSPACE }}/channel # Test channel conda search ${{ env.PACKAGE_NAME }} -c ${{ env.GITHUB_WORKSPACE }}/channel --override-channels --info --json > ${{ env.GITHUB_WORKSPACE }}/ver.json @@ -269,7 +268,7 @@ jobs: FOR /F "tokens=* USEBACKQ" %%F IN (`python -c "%SCRIPT%"`) DO ( SET PACKAGE_VERSION=%%F ) - conda create -n ${{ env.TEST_ENV_NAME }} ${{ env.PACKAGE_NAME }}=%PACKAGE_VERSION% python=${{ matrix.python }} -c ${{ env.GITHUB_WORKSPACE }}/channel ${{ env.CHANNELS }} --only-deps --dry-run > lockfile + conda install -n ${{ env.TEST_ENV_NAME }} ${{ env.PACKAGE_NAME }}=%PACKAGE_VERSION% python=${{ matrix.python }} -c ${{ env.GITHUB_WORKSPACE }}/channel ${{ env.CHANNELS }} --only-deps --dry-run > lockfile more lockfile - name: Cache conda packages @@ -302,5 +301,5 @@ jobs: - name: Run tests run: | - conda activate -n ${{ env.TEST_ENV_NAME }} + conda activate ${{ env.TEST_ENV_NAME }} pytest -v --pyargs ${{ env.MODULE_NAME }}