Skip to content

Migrator for win-arm64 uses incorrect dependency graph #4087

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

Open
h-vetinari opened this issue Apr 23, 2025 · 7 comments
Open

Migrator for win-arm64 uses incorrect dependency graph #4087

h-vetinari opened this issue Apr 23, 2025 · 7 comments

Comments

@h-vetinari
Copy link
Contributor

Looking at the status page for the migrator, a few unexpected packages show up. For example, the migrator seems to think that conda-forge-ci-setup still depends on pypy

Image

However, the conda-forge-ci-setup recipe has never depended on pypy-meta (can be verified by running git log -S pypy-meta -- recipe/meta.yaml in the ci-setup repo).

Similarly, the bot seems to think that conda depends on rapidfuzz (though no mention of that can be found in the recipe), which pulls in numpy and the whole LAPACK stack

Image

CC @beckermr @isuruf @baszalmstra

@beckermr
Copy link
Contributor

This is likely the usual mix of odd edges in the graph from various meta packages that we use to swap things in and out.

@h-vetinari
Copy link
Contributor Author

I could maybe understand that for pypy, but how can conda show up as a child of rapidfuzz? There are no metapackages involved in the latter situation, AFAICT.

@beckermr
Copy link
Contributor

I'm continually surprised by the conda-forge graph. Many times it is not a bug but is instead some obscure edge case.

@h-vetinari
Copy link
Contributor Author

I don't understand how such an edge case could even look like. I mean, yes, different kinds of dependencies (build/host/run/test) are one thing, but I'm thoroughly confused how something can be considered a direct dependency of conda (IOW rapidfuzz listing conda under "Immediate children"), despite no mention of it in the conda recipe whatsoever.

@isuruf
Copy link
Member

isuruf commented Apr 24, 2025

"Immediate child" here means "direct dependency or a direct dependency of a noarch immediate child".

conda -> conda-smithy (downstreams test) -> grayskull (test) -> rapidfuzz

@beckermr
Copy link
Contributor

The graph never ceases to amaze!

If we are skipping tests for this migration, we can adjust how the graph edges are computed in this bit of code to remove test deps.

Right now the code adds back edges for all deps when probably we just need build+host+run.

@h-vetinari
Copy link
Contributor Author

Thanks for the explanation @isuruf! I think it would make sense to remove the test deps from the graph for the win-arm migration (at least those test deps that come from noarch feedstocks!). We shouldn't need to build numpy (and the BLAS stack) to bootstrap the build tools.

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

No branches or pull requests

3 participants