Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build string in conda package url for Spyder in the conda-lock file release asset does not match conda-forge #22201

Open
mrclary opened this issue Jun 24, 2024 · 3 comments · May be fixed by #22204
Assignees
Milestone

Comments

@mrclary
Copy link
Contributor

mrclary commented Jun 24, 2024

The installer workflow generates a conda-lock file for updating installer-based Spyder versions. The explicit url specification in the file has the form:

https://conda.anaconda.org/conda-forge/<platform>/spyder-<version>-<build-string>.conda

There are two issues with the url in the conda-lock file.

  1. For non-stable releases (e.g. 6.0.0b2) label/spyder_dev/ is missing from the url.
  2. The <build-string> portion does not match that of the package on conda-forge. This is because the <build-string> contains a hash that is automatically generated by conda-build based on the contents of meta.yaml in the recipe, and this file will differ slightly between our CI and conda-forge.

@spyder-ide/core-developers, we should discuss possible solutions.

@ccordoba12 ccordoba12 added this to the v6.0beta3 milestone Jun 24, 2024
@ccordoba12
Copy link
Member

And what could be a possible solution? I'm sorry but I don't understand how to address this problem.

@mrclary mrclary self-assigned this Jun 25, 2024
@mrclary
Copy link
Contributor Author

mrclary commented Jun 25, 2024

The first issue, regarding the dev channel, is straight-forward and can be accommodated when we patch the conda-lock file.

I thought that the second issue would be more problematic. In order to have the same build string in the conda-lock file and on conda-forge I thought there were only 2 options: 1) explicitly set the build string; or 2) build the conda package from an un-patched meta.yaml file.

However, I have discovered that I'm wrong about how the hash info is compiled. The difference between our CI build string and the conda-forge build string results from conda-forge having an additional conda_build_config.yaml which is absent from our CI. conda-build searches several locations for this configuration file and merges all files discovered, so the configuration consists of more that just what is in our feedstock recipe.

I have narrowed down the relevant configuration spec to

python:
  - <major>.<minor>.* *_cython

This can be patched in the conda_build_config.yaml file in our feedstock when we build on CI.

@ccordoba12
Copy link
Member

Ok, that's really good 👍🏽

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

Successfully merging a pull request may close this issue.

2 participants