docker_image: cos7-cuda:10.2 chosen over cos7-x86_64 for os_version: { linux_64: cos7 }
See original GitHub issueRe-rendered with conda-build 3.21.4, conda-smithy 3.9.0, and conda-forge-pinning 2021.03.02.12.06.47
If
os_version:
linux_64: cos7
is used in conda-forge.yml
, re-rendering causes the docker_image
key to get value quay.io/condaforge/linux-anvil-cos7-cuda:10.2
rather than quay.io/condaforge/linux-anvil-cos7-x86_64
even for non-CUDA recipes.
AFAICT, https://github.com/conda-forge/conda-smithy/blob/v3.9.0/conda_smithy/configure_feedstock.py#L197 sorts the configuration values which puts ...-cos7-cuda:10-2
before ..-cos7-x86_64
(since "c" < "x"
, lexicographically). But https://github.com/conda-forge/conda-smithy/blob/v3.9.0/conda_smithy/configure_feedstock.py#L386 chooses the first value, which is likely supposed to be the first one from the original (conda-forge-pinnings
’) order, not from the sort-order.
Just omitting the sort would not work either since conda-build
’s output is not deterministic and can either have *-cos7-x86_64
or *-cos7-cuda:10.2
as the first entry.
It’s quite possible my assessment above isn’t 100 % correct, but it should be enough to help fix it by someone who’s more versed in the code base.
Issue Analytics
- State:
- Created 3 years ago
- Comments:5 (5 by maintainers)
conda-build’s output is not deterministic, but we can sort the variants using the original order that they came from where
*-cos7-x86_64
comes first.Ah ok. So what I said above then.