Skip to content

Align conda-forge recipe with normal recipe#285

Open
ndgrigorian wants to merge 9 commits intomasterfrom
update-conda-forge-recipe
Open

Align conda-forge recipe with normal recipe#285
ndgrigorian wants to merge 9 commits intomasterfrom
update-conda-forge-recipe

Conversation

@ndgrigorian
Copy link
Collaborator

@ndgrigorian ndgrigorian commented Mar 6, 2026

This PR proposes to align the meta.yaml in conda-recipe-cf with conda-recipe

Also removes MSVC setup step, instead using conda build configs to set VS version. This exposed mistake in conda build config, which was set to vs2017

Copilot AI review requested due to automatic review settings March 6, 2026 05:31
@ndgrigorian ndgrigorian force-pushed the update-conda-forge-recipe branch from d5aa34a to 81591cb Compare March 6, 2026 05:34
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Aligns the conda-forge recipe (conda-recipe-cf) metadata and CI behavior closer to the primary conda recipe (conda-recipe) to standardize versioning/build metadata and dependencies.

Changes:

  • Update conda-recipe-cf/meta.yaml to use GIT_DESCRIBE_TAG / GIT_DESCRIBE_NUMBER, add script_env, and align several build/host/run requirements.
  • Adjust recipe metadata text (summary/description) and simplify import checks under test:.
  • Remove the explicit MSVC setup step from the Windows conda-package workflows.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.

File Description
conda-recipe-cf/meta.yaml Switch to git-describe versioning/build numbering; add build env forwarding and align dependency list/metadata.
.github/workflows/conda-package.yml Remove MSVC environment setup step before Windows conda build.
.github/workflows/conda-package-cf.yml Remove MSVC environment setup step before Windows conda build (NumPy 2.x matrix).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +10 to +11
script_env:
- WHEELS_OUTPUT_FOLDER
Copy link

Copilot AI Mar 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

build.script_env now forwards WHEELS_OUTPUT_FOLDER, but the conda-forge recipe’s build scripts (conda-recipe-cf/build.sh and conda-recipe-cf/bld.bat) don’t reference this variable, so this setting is currently dead/unused and may confuse future maintainers. Either remove WHEELS_OUTPUT_FOLDER from script_env for this recipe or update the conda-forge build scripts to honor it (similar to conda-recipe/).

Suggested change
script_env:
- WHEELS_OUTPUT_FOLDER

Copilot uses AI. Check for mistakes.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It sounds as a valid comment. We don't pass WHEELS_OUTPUT_FOLDER env to the scripts. Probably we should remove that env here.

@ndgrigorian ndgrigorian force-pushed the update-conda-forge-recipe branch 2 times, most recently from a8ebfdc to 888099b Compare March 9, 2026 21:23
@ndgrigorian ndgrigorian force-pushed the update-conda-forge-recipe branch from e07ba98 to 11b97d9 Compare March 9, 2026 21:36
@antonwolfy antonwolfy added this to the 2.2.0 release milestone Mar 10, 2026
imports:
- mkl_fft
- mkl_fft.interfaces
- mkl_fft.interfaces.numpy_fft
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's present in the feedstock repo. Why do we plan to remove that?

Comment on lines +10 to +11
script_env:
- WHEELS_OUTPUT_FOLDER
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It sounds as a valid comment. We don't pass WHEELS_OUTPUT_FOLDER env to the scripts. Probably we should remove that env here.

c_stdlib: # [linux]
- sysroot # [linux]
c_stdlib_version: # [linux]
- '2.28' # [linux]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's set to 2.17 in the feedstock. But I wonder if we need to align here...

cxx_compiler: # [win]
- vs2022 # [win]
c_compiler: # [win]
- vs2022 # [win]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As an option we can list all python versions:

Suggested change
- vs2022 # [win]
- vs2022 # [win]
numpy:
- '2'
python:
- 3.10.* *_cpython
- 3.11.* *_cpython
- 3.12.* *_cpython
- 3.13.* *_cp313
- 3.14.* *_cp314

it would mean if we run conda build --no-test -c conda-forge --override-channels conda-recipe-cf command (without numpy and python options passed) and remove strategy matrix from build jobs, each Linux and Windows will build mkl_fft packages with all supported python versions at once.
And then we will be able to remove python-gil from conda-recipe-cf/meta.yaml aligning with the feedstock in more details.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, the feedstock adds:

pin_run_as_build:
  python:
    min_pin: x.x
    max_pin: x.x

which we would probably able to do as well.

- name: Store conda paths as envs
shell: bash -l {0}
run: |
echo "CONDA_BLD=$CONDA/conda-bld/win-64/" | tr "\\\\" '/' >> "$GITHUB_ENV"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we should use proper CONDA_BLD value rather then installing conda-build to the base env

Suggested change
echo "CONDA_BLD=$CONDA_PREFIX/conda-bld/win-64/" | tr "\\\\" '/' >> "$GITHUB_ENV"

activate-environment: ${{ env.TEST_ENV_NAME }}
python-version: ${{ matrix.python }}
channels: conda-forge
conda-remove-defaults: 'true'
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

conda-remove-defaults: still used in .github/workflows/build_pip.yaml, but can be removed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants