diff --git a/.github/workflows/conda-package.yml b/.github/workflows/conda-package.yml index a17670a..2c6d0dd 100644 --- a/.github/workflows/conda-package.yml +++ b/.github/workflows/conda-package.yml @@ -140,7 +140,13 @@ jobs: - name: Install mkl_fft run: | CHANNELS="-c $GITHUB_WORKSPACE/channel ${{ env.CHANNELS }}" - conda create -n ${{ env.TEST_ENV_NAME }} $PACKAGE_NAME=${{ env.PACKAGE_VERSION }} python=${{ matrix.python }} pytest "scipy>=1.10" $CHANNELS + conda create -n ${{ env.TEST_ENV_NAME }} $PACKAGE_NAME=${{ env.PACKAGE_VERSION }} python=${{ matrix.python }} pytest $CHANNELS + if [[ "${{ matrix.python }}" != 3.9* ]]; then + # Intel channel only has scipy=1.10 for Python 3.9, which needs mkl<2025 + # while scipy needs to install numpy and mkl_random and mkl_random-1.2.11 requires mkl>=2025 + # so avoid installing scipy for Python 3.9 which means third_party/scipy tests will not run + conda install -n ${{ env.TEST_ENV_NAME }} "scipy>=1.10" $CHANNELS + fi # Test installed packages conda list -n ${{ env.TEST_ENV_NAME }} @@ -307,8 +313,11 @@ jobs: FOR /F "tokens=* USEBACKQ" %%F IN (`python -c "%SCRIPT%"`) DO ( SET PACKAGE_VERSION=%%F ) - SET "TEST_DEPENDENCIES=pytest scipy" + SET "TEST_DEPENDENCIES=pytest" conda install -n ${{ env.TEST_ENV_NAME }} ${{ env.PACKAGE_NAME }}=%PACKAGE_VERSION% %TEST_DEPENDENCIES% python=${{ matrix.python }} -c ${{ env.workdir }}/channel ${{ env.CHANNELS }} + if ("${{ matrix.python }}" -ne "3.9") { + conda install -n ${{ env.TEST_ENV_NAME }} scipy -c ${{ env.workdir }}/channel ${{ env.CHANNELS }} + } - name: Report content of test environment shell: cmd /C CALL {0} diff --git a/conda-recipe/meta.yaml b/conda-recipe/meta.yaml index e73556e..13f68e3 100644 --- a/conda-recipe/meta.yaml +++ b/conda-recipe/meta.yaml @@ -24,14 +24,13 @@ requirements: - pip - setuptools >=77 - mkl-devel - - mkl-devel 2024.2.* # [py==39] - cython - numpy-base - wheel >=0.41.3 run: - python - mkl-service - - {{ pin_compatible('numpy') }} + - {{ pin_compatible('numpy-base') }} test: commands: