diff --git a/.github/workflows/conda-package-cf.yml b/.github/workflows/conda-package-cf.yml index 4b931393..fe7a842a 100644 --- a/.github/workflows/conda-package-cf.yml +++ b/.github/workflows/conda-package-cf.yml @@ -26,17 +26,17 @@ jobs: - python: "3.10" numpy: "2.2" - python: "3.11" - numpy: "2.3" + numpy: "2.4" - python: "3.12" - numpy: "2.3" + numpy: "2.5" - python: "3.13" - numpy: "2.3" + numpy: "2.5" - python: "3.14" - numpy: "2.3" + numpy: "2.5" python_spec: "3.14.* *_cp314" python_tag: "3.14" - python: "3.14" - numpy: "2.3" + numpy: "2.5" python_spec: "3.14.* *_cp314t" python_tag: "3.14t" - python: "3.15" @@ -96,6 +96,7 @@ jobs: conda build \ "${TEST[@]}" \ + --error-overlinking \ "${VERSIONS[@]}" \ "${CHANNELS[@]}" \ conda-recipe-cf @@ -222,17 +223,17 @@ jobs: - python: "3.10" numpy: "2.2" - python: "3.11" - numpy: "2.3" + numpy: "2.4" - python: "3.12" - numpy: "2.3" + numpy: "2.5" - python: "3.13" - numpy: "2.3" + numpy: "2.5" - python: "3.14" - numpy: "2.3" + numpy: "2.5" python_spec: "3.14.* *_cp314" python_tag: "3.14" - python: "3.14" - numpy: "2.3" + numpy: "2.5" python_spec: "3.14.* *_cp314t" python_tag: "3.14t" - python: "3.15" @@ -286,7 +287,7 @@ jobs: - name: Build conda package run: | conda activate - conda build --no-test --python "${{ matrix.python_spec || matrix.python }}" --numpy ${{ matrix.numpy }} -c conda-forge --override-channels conda-recipe-cf + conda build --no-test --error-overlinking --python "${{ matrix.python_spec || matrix.python }}" --numpy ${{ matrix.numpy }} -c conda-forge --override-channels conda-recipe-cf - name: Upload artifact uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 diff --git a/conda-recipe-cf/conda_build_config.yaml b/conda-recipe-cf/conda_build_config.yaml index 2862ddf3..6e19b3ef 100644 --- a/conda-recipe-cf/conda_build_config.yaml +++ b/conda-recipe-cf/conda_build_config.yaml @@ -1,11 +1,13 @@ -numpy: - - '1.26.4' +numpy: # as in conda-forge's global pinning; CI overrides it with --numpy + - '2' c_compiler: # [linux] - gcc # [linux] +c_compiler_version: # [linux] + - '15' # [linux] cxx_compiler: # [linux] - gxx # [linux] cxx_compiler_version: # [linux] - - '14' # [linux] + - '15' # [linux] c_stdlib: # [linux] - sysroot # [linux] c_stdlib_version: # [linux] diff --git a/conda-recipe-cf/meta.yaml b/conda-recipe-cf/meta.yaml index 115a357d..673551a2 100644 --- a/conda-recipe-cf/meta.yaml +++ b/conda-recipe-cf/meta.yaml @@ -10,10 +10,12 @@ source: build: number: {{ buildnumber }} + ignore_run_exports_from: + - {{ compiler('dpcpp') }} # [linux] ignore_run_exports: - blas - - numpy - - llvm-openmp + missing_dso_whitelist: + - $RPATH/mkl_umath_loops.dll # [win] requirements: build: @@ -29,14 +31,15 @@ requirements: - cython >=3.1.0 - python - mkl-devel + - intel-cmplr-lib-rt # [not osx] - numpy - llvm-openmp - pip run: - python - - {{ pin_compatible('mkl') }} - - {{ pin_compatible('numpy') }} - - {{ pin_compatible('intel-cmplr-lib-rt') }} + # NumPy 1 vs 2 loops are chosen at compile time (USE_NUMPY_2), so a build + # against NumPy 2 must not run on NumPy 1.x; run_exports add the upper bound + - numpy >=2 test: requires: