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

variants not rendered properly w/ jinja2 if statements and skips #5445

Closed
2 tasks done
beckermr opened this issue Aug 6, 2024 · 4 comments · Fixed by #5447
Closed
2 tasks done

variants not rendered properly w/ jinja2 if statements and skips #5445

beckermr opened this issue Aug 6, 2024 · 4 comments · Fixed by #5447
Labels
type::bug describes erroneous operation, use severity::* to classify the type
Milestone

Comments

@beckermr
Copy link
Contributor

beckermr commented Aug 6, 2024

Checklist

  • I added a descriptive title
  • I searched open reports and couldn't find a duplicate

What happened?

Using this recipe

{% if CLANG_VERSION is not defined %}
{% set CLANG_VERSION = "16.0.6" %}
{% set CL_VERSION = "19.29" %}
{% set VCVER = "" %}
{% endif %}
{% set clang_major = CLANG_VERSION.split(".")[0] %}
{% set cl_minor = CL_VERSION.split(".")[1] %}
{% set vc_major = VCVER.split(".")[0] %}

package:
  name: clang-win-activation
  version: {{ CLANG_VERSION }}

build:
  number: 0
  {% if clang_major|int == 16 and cl_minor|int >= 40 %}
  skip: true
  {% endif %}

outputs:
  - name: clang_win-64
    build:
      run_exports:
        strong:
          - vc >={{ VCVER }}
    requirements:
      run:
        - clang {{ CLANG_VERSION }}.*

and this CBC

CLANG_VERSION:
  - 16.0.6
  - 17.0.6
  - 18.1.8
  - 19.1.0.rc1

VCVER:
  - 14.3
  - 14.2
CL_VERSION:
  - 19.40.33808
  - 19.29.30139

zip_keys:
  -
    - VCVER
    - CL_VERSION

I get the following depending on the python hash seed

% PYTHONHASHSEED=100 conda render . | grep "CLANG_VERSION"
{'CLANG_VERSION': '16.0.6', 'VCVER': '14.2', 'target_platform': 'osx-arm64'}
{'CLANG_VERSION': '16.0.6', 'VCVER': '14.3', 'target_platform': 'osx-arm64'}
{'CLANG_VERSION': '17.0.6', 'VCVER': '14.2', 'target_platform': 'osx-arm64'}
{'CLANG_VERSION': '17.0.6', 'VCVER': '14.3', 'target_platform': 'osx-arm64'}
{'CLANG_VERSION': '18.1.8', 'VCVER': '14.2', 'target_platform': 'osx-arm64'}
{'CLANG_VERSION': '18.1.8', 'VCVER': '14.3', 'target_platform': 'osx-arm64'}
{'CLANG_VERSION': '19.1.0.rc1', 'VCVER': '14.2', 'target_platform': 'osx-arm64'}
{'CLANG_VERSION': '19.1.0.rc1', 'VCVER': '14.3', 'target_platform': 'osx-arm64'}
% PYTHONHASHSEED=4 conda render . | grep "CLANG_VERSION"  
{'CLANG_VERSION': '18.1.8', 'VCVER': '14.3', 'target_platform': 'osx-arm64'}
{'CLANG_VERSION': '18.1.8', 'VCVER': '14.2', 'target_platform': 'osx-arm64'}
{'CLANG_VERSION': '17.0.6', 'VCVER': '14.3', 'target_platform': 'osx-arm64'}
{'CLANG_VERSION': '17.0.6', 'VCVER': '14.2', 'target_platform': 'osx-arm64'}
{'CLANG_VERSION': '19.1.0.rc1', 'VCVER': '14.3', 'target_platform': 'osx-arm64'}
{'CLANG_VERSION': '19.1.0.rc1', 'VCVER': '14.2', 'target_platform': 'osx-arm64'}

I would have expected all of the version 19.*, 18.* and 17.* variants with only one of the version 16.* variants.

Conda Info

active environment : cf-dev
    active env location : /Users/beckermr/mambaforge/envs/cf-dev
            shell level : 2
       user config file : /Users/beckermr/.condarc
 populated config files : /Users/beckermr/mambaforge/.condarc
                          /Users/beckermr/.condarc
          conda version : 24.7.1
    conda-build version : 24.7.1
         python version : 3.11.9.final.0
                 solver : libmamba (default)
       virtual packages : __archspec=1=m2
                          __conda=24.7.1=0
                          __osx=13.6.7=0
                          __unix=0=0
       base environment : /Users/beckermr/mambaforge  (writable)
      conda av data dir : /Users/beckermr/mambaforge/etc/conda
  conda av metadata url : None
           channel URLs : https://conda.anaconda.org/conda-forge/osx-arm64
                          https://conda.anaconda.org/conda-forge/noarch
          package cache : /Users/beckermr/mambaforge/pkgs
                          /Users/beckermr/.conda/pkgs
       envs directories : /Users/beckermr/mambaforge/envs
                          /Users/beckermr/.conda/envs
               platform : osx-arm64
             user-agent : conda/24.7.1 requests/2.32.3 CPython/3.11.9 Darwin/22.6.0 OSX/13.6.7 solver/libmamba conda-libmamba-solver/24.7.0 libmambapy/1.5.8
                UID:GID : 501:20
             netrc file : /Users/beckermr/.netrc
           offline mode : False

Conda Config

==> /Users/beckermr/mambaforge/.condarc <==
add_pip_as_python_dependency: False
auto_update_conda: False
aggressive_update_packages:
  - ca-certificates
  - certifi
channel_priority: strict
channels:
  - conda-forge
show_channel_urls: True
conda_build:
  pkg_format: 2
  zstd_compression_level: 19

==> /Users/beckermr/.condarc <==
add_pip_as_python_dependency: False
auto_update_conda: False
channel_priority: strict
channels:
  - conda-forge
show_channel_urls: True
report_errors: False
solver: libmamba
conda_build:
  pkg_format: 2

==> envvars <==
allow_softlinks: False

Conda list

# packages in environment at /Users/beckermr/mambaforge/envs/cf-dev:
#
# Name                    Version                   Build  Channel
aiobotocore               2.13.1             pyhd8ed1ab_0    conda-forge
aiohappyeyeballs          2.3.2              pyhd8ed1ab_0    conda-forge
aiohttp                   3.10.1          py311hd3f4193_0    conda-forge
aioitertools              0.11.0             pyhd8ed1ab_0    conda-forge
aiosignal                 1.3.1              pyhd8ed1ab_0    conda-forge
anaconda-client           1.12.3             pyhd8ed1ab_1    conda-forge
annotated-types           0.7.0              pyhd8ed1ab_0    conda-forge
anyio                     4.4.0              pyhd8ed1ab_0    conda-forge
appdirs                   1.4.4              pyh9f0ad1d_0    conda-forge
appnope                   0.1.4              pyhd8ed1ab_0    conda-forge
archspec                  0.2.3              pyhd8ed1ab_0    conda-forge
argcomplete               3.4.0              pyhd8ed1ab_0    conda-forge
arrow                     1.3.0              pyhd8ed1ab_0    conda-forge
asttokens                 2.4.1              pyhd8ed1ab_0    conda-forge
async-timeout             4.0.3              pyhd8ed1ab_0    conda-forge
attrs                     24.1.0             pyh71513ae_0    conda-forge
aws-c-auth                0.7.22              h8a62e84_10    conda-forge
aws-c-cal                 0.7.1                h94d0942_1    conda-forge
aws-c-common              0.9.23               h99b78c6_0    conda-forge
aws-c-compression         0.2.18               h94d0942_7    conda-forge
aws-c-event-stream        0.4.2               hb74cd8f_15    conda-forge
aws-c-http                0.8.2                had1507a_6    conda-forge
aws-c-io                  0.14.10              hcdb10ff_1    conda-forge
aws-c-mqtt                0.10.4               h856d8ab_8    conda-forge
aws-c-s3                  0.6.0                ha9fd6de_2    conda-forge
aws-c-sdkutils            0.1.16               h94d0942_3    conda-forge
aws-checksums             0.1.18               h94d0942_7    conda-forge
aws-crt-cpp               0.27.3               h9d3339c_2    conda-forge
aws-sdk-cpp               1.11.329             he6360a2_9    conda-forge
azure-core                1.30.2             pyhd8ed1ab_0    conda-forge
azure-core-cpp            1.13.0               hd01fc5c_0    conda-forge
azure-identity-cpp        1.8.0                h13ea094_2    conda-forge
azure-storage-blobs-cpp   12.12.0              hfde595f_0    conda-forge
azure-storage-common-cpp  12.7.0               hcf3b6fd_1    conda-forge
azure-storage-files-datalake-cpp 12.11.0              h082e32e_1    conda-forge
backcall                  0.2.0              pyh9f0ad1d_0    conda-forge
backports                 1.0                pyhd8ed1ab_4    conda-forge
backports.functools_lru_cache 2.0.0              pyhd8ed1ab_0    conda-forge
backports.strenum         1.2.8              pyhd8ed1ab_0    conda-forge
backports.tarfile         1.0.0              pyhd8ed1ab_1    conda-forge
beautifulsoup4            4.12.3             pyha770c72_0    conda-forge
binaryornot               0.4.4                      py_1    conda-forge
black                     24.4.2          py311h267d04e_0    conda-forge
bleach                    6.1.0              pyhd8ed1ab_0    conda-forge
blinker                   1.8.2              pyhd8ed1ab_0    conda-forge
bokeh                     3.5.1              pyhd8ed1ab_0    conda-forge
boltons                   24.0.0             pyhd8ed1ab_0    conda-forge
boolean.py                4.0                pyhd8ed1ab_0    conda-forge
botocore                  1.34.131        pyge310_1234567_0    conda-forge
brotli                    1.1.0                hb547adb_1    conda-forge
brotli-bin                1.1.0                hb547adb_1    conda-forge
brotli-python             1.1.0           py311ha891d26_1    conda-forge
brotlipy                  0.7.0           py311heffc1b2_1006    conda-forge
bzip2                     1.0.8                h99b78c6_7    conda-forge
c-ares                    1.32.3               h99b78c6_0    conda-forge
ca-certificates           2024.7.4             hf0a4a13_0    conda-forge
cachetools                5.4.0              pyhd8ed1ab_0    conda-forge
cctools                   986                  h4c9edd9_3    conda-forge
cctools_osx-arm64         986                  hf2da8af_3    conda-forge
certifi                   2024.7.4           pyhd8ed1ab_0    conda-forge
cffi                      1.16.0          py311h4a08483_0    conda-forge
cfgv                      3.3.1              pyhd8ed1ab_0    conda-forge
chardet                   5.2.0           py311h267d04e_1    conda-forge
charset-normalizer        3.3.2              pyhd8ed1ab_0    conda-forge
cirun                     0.30               pyhd8ed1ab_0    conda-forge
click                     8.1.7           unix_pyh707e725_0    conda-forge
click-log                 0.4.0              pyhd8ed1ab_0    conda-forge
click-option-group        0.5.6              pyhd8ed1ab_0    conda-forge
cloudpickle               3.0.0              pyhd8ed1ab_0    conda-forge
cmarkgfm                  0.8.0           py311heffc1b2_3    conda-forge
colorama                  0.4.6              pyhd8ed1ab_0    conda-forge
comm                      0.2.2              pyhd8ed1ab_0    conda-forge
conda                     24.7.1          py311h267d04e_0    conda-forge
conda-build               24.7.1          py311h267d04e_0    conda-forge
conda-forge-conda-plugins 0.1.dev23+g000f3a9          pypi_0    pypi
conda-forge-metadata      0.8.1              pyhd8ed1ab_0    conda-forge
conda-forge-pinning       2024.08.05.15.28.08      hd8ed1ab_0    conda-forge
conda-forge-webservices   1.0                      pypi_0    pypi
conda-index               0.5.0              pyhd8ed1ab_0    conda-forge
conda-libmamba-solver     24.7.0             pyhd8ed1ab_0    conda-forge
conda-oci-mirror          0.1.0              pyhd8ed1ab_0    conda-forge
conda-package-handling    2.3.0              pyh7900ff3_0    conda-forge
conda-package-streaming   0.10.0             pyhd8ed1ab_0    conda-forge
conda-smithy              3.37.3.dev83+g4b632ac8          pypi_0    pypi
conda-suggest             0.1.1              pyh9f0ad1d_0    conda-forge
conda-suggest-conda-forge 2021.8.24            hf450f58_0    conda-forge
contourpy                 1.2.1           py311hcc98501_0    conda-forge
cookiecutter              2.6.0              pyhca7485f_0    conda-forge
cramjam                   2.8.3           py311h94f323b_0    conda-forge
cryptography              43.0.0          py311hcaeb4ce_0    conda-forge
curl                      8.9.1                hbf5303f_0    conda-forge
cycler                    0.12.1             pyhd8ed1ab_0    conda-forge
cytoolz                   0.12.3          py311h05b510d_0    conda-forge
dask                      2024.7.1           pyhd8ed1ab_0    conda-forge
dask-core                 2024.7.1           pyhd8ed1ab_0    conda-forge
dask-expr                 1.1.9              pyhd8ed1ab_0    conda-forge
debugpy                   1.8.3           py311hb9542d7_0    conda-forge
decorator                 5.1.1              pyhd8ed1ab_0    conda-forge
defusedxml                0.7.1              pyhd8ed1ab_0    conda-forge
deprecated                1.2.14             pyh1a96a4e_0    conda-forge
distlib                   0.3.8              pyhd8ed1ab_0    conda-forge
distributed               2024.7.1           pyhd8ed1ab_0    conda-forge
distro                    1.9.0              pyhd8ed1ab_0    conda-forge
docutils                  0.21.2             pyhd8ed1ab_0    conda-forge
dotty-dict                1.3.1              pyhd8ed1ab_0    conda-forge
editables                 0.5                pyhd8ed1ab_0    conda-forge
entrypoints               0.4                pyhd8ed1ab_0    conda-forge
exceptiongroup            1.2.2              pyhd8ed1ab_0    conda-forge
executing                 2.0.1              pyhd8ed1ab_0    conda-forge
fastparquet               2024.5.0        py311h5d790af_0    conda-forge
filelock                  3.15.4             pyhd8ed1ab_0    conda-forge
flake8                    7.1.1              pyhd8ed1ab_0    conda-forge
fmt                       10.2.1               h2ffa867_0    conda-forge
fonttools                 4.53.1          py311hd3f4193_0    conda-forge
freetype                  2.12.1               hadb7bae_2    conda-forge
frozendict                2.4.4           py311hd3f4193_0    conda-forge
frozenlist                1.4.1           py311h05b510d_0    conda-forge
fsspec                    2024.6.1           pyhff2d567_0    conda-forge
gettext                   0.22.5               h8fbad5d_2    conda-forge
gettext-tools             0.22.5               h8fbad5d_2    conda-forge
gflags                    2.2.2             hc88da5d_1004    conda-forge
git                       2.46.0          pl5321h41514c7_0    conda-forge
gitdb                     4.0.11             pyhd8ed1ab_0    conda-forge
github3.py                4.0.1              pyhd8ed1ab_0    conda-forge
gitpython                 3.1.43             pyhd8ed1ab_0    conda-forge
glob2                     0.7                        py_0    conda-forge
glog                      0.7.1                heb240a5_0    conda-forge
gmp                       6.3.0                h7bae524_2    conda-forge
h11                       0.14.0             pyhd8ed1ab_0    conda-forge
h2                        4.1.0              pyhd8ed1ab_0    conda-forge
hatch                     1.12.0             pyhd8ed1ab_0    conda-forge
hatch-vcs                 0.4.0              pyhd8ed1ab_0    conda-forge
hatchling                 1.25.0             pyhd8ed1ab_0    conda-forge
hpack                     4.0.0              pyh9f0ad1d_0    conda-forge
httpcore                  1.0.5              pyhd8ed1ab_0    conda-forge
httpx                     0.27.0             pyhd8ed1ab_0    conda-forge
hyperframe                6.0.1              pyhd8ed1ab_0    conda-forge
hyperlink                 21.0.0             pyhd3deb0d_0    conda-forge
icu                       75.1                 hfee45f7_0    conda-forge
identify                  2.6.0              pyhd8ed1ab_0    conda-forge
idna                      3.7                pyhd8ed1ab_0    conda-forge
importlib-metadata        8.2.0              pyha770c72_0    conda-forge
importlib-resources       6.4.0              pyhd8ed1ab_0    conda-forge
importlib_metadata        8.2.0                hd8ed1ab_0    conda-forge
importlib_resources       6.4.0              pyhd8ed1ab_0    conda-forge
iniconfig                 2.0.0              pyhd8ed1ab_0    conda-forge
inline-snapshot           0.12.0             pyhd8ed1ab_0    conda-forge
intake                    2.0.6              pyhd8ed1ab_0    conda-forge
invoke                    2.2.0              pyhd8ed1ab_0    conda-forge
ipykernel                 6.29.5             pyh57ce528_0    conda-forge
ipython                   8.26.0             pyh707e725_0    conda-forge
isodate                   0.6.1              pyhd8ed1ab_0    conda-forge
jaraco.classes            3.4.0              pyhd8ed1ab_1    conda-forge
jaraco.context            5.3.0              pyhd8ed1ab_1    conda-forge
jaraco.functools          4.0.0              pyhd8ed1ab_0    conda-forge
jedi                      0.19.1             pyhd8ed1ab_0    conda-forge
jinja2                    3.1.4              pyhd8ed1ab_0    conda-forge
jmespath                  1.0.1              pyhd8ed1ab_0    conda-forge
joblib                    1.4.2              pyhd8ed1ab_0    conda-forge
jq                        1.7.1                h93a5062_0    conda-forge
jsonpatch                 1.33               pyhd8ed1ab_0    conda-forge
jsonpointer               3.0.0           py311h267d04e_0    conda-forge
jsonschema                4.23.0             pyhd8ed1ab_0    conda-forge
jsonschema-specifications 2023.12.1          pyhd8ed1ab_0    conda-forge
jupyter_client            8.6.2              pyhd8ed1ab_0    conda-forge
jupyter_core              5.7.2           py311h267d04e_0    conda-forge
keyring                   25.3.0             pyh534df25_0    conda-forge
kiwisolver                1.4.5           py311he4fd1f5_1    conda-forge
krb5                      1.21.3               h237132a_0    conda-forge
lazyasd                   0.1.4                      py_1    conda-forge
lcms2                     2.16                 ha0e7c42_0    conda-forge
ld64                      711                  h4c6efb1_3    conda-forge
ld64_osx-arm64            711                  h5ecc89c_3    conda-forge
lerc                      4.0.0                h9a09cb3_0    conda-forge
libabseil                 20240116.2      cxx17_h00cdb27_1    conda-forge
libarchive                3.7.4                h83d404f_0    conda-forge
libarrow                  17.0.0           ha3ffeb4_3_cpu    conda-forge
libarrow-acero            17.0.0           hf9b8971_3_cpu    conda-forge
libarrow-dataset          17.0.0           hf9b8971_3_cpu    conda-forge
libarrow-flight           17.0.0           h3db07f8_3_cpu    conda-forge
libarrow-flight-sql       17.0.0           h2269caf_3_cpu    conda-forge
libarrow-gandiva          17.0.0           h9cbd563_3_cpu    conda-forge
libarrow-substrait        17.0.0           hbf8b706_3_cpu    conda-forge
libasprintf               0.22.5               h8fbad5d_2    conda-forge
libasprintf-devel         0.22.5               h8fbad5d_2    conda-forge
libblas                   3.9.0           17_osxarm64_openblas    conda-forge
libbrotlicommon           1.1.0                hb547adb_1    conda-forge
libbrotlidec              1.1.0                hb547adb_1    conda-forge
libbrotlienc              1.1.0                hb547adb_1    conda-forge
libcblas                  3.9.0           17_osxarm64_openblas    conda-forge
libcrc32c                 1.1.2                hbdafb3b_0    conda-forge
libcurl                   8.9.1                hfd8ffcc_0    conda-forge
libcxx                    18.1.8               h5a72898_2    conda-forge
libdeflate                1.21                 h99b78c6_0    conda-forge
libedit                   3.1.20191231         hc8eb9b7_2    conda-forge
libev                     4.33                 h93a5062_2    conda-forge
libevent                  2.1.12               h2757513_1    conda-forge
libexpat                  2.6.2                hebf3989_0    conda-forge
libffi                    3.4.2                h3422bc3_5    conda-forge
libgettextpo              0.22.5               h8fbad5d_2    conda-forge
libgettextpo-devel        0.22.5               h8fbad5d_2    conda-forge
libgfortran               5.0.0           12_2_0_hd922786_32    conda-forge
libgfortran5              12.2.0              h0eea778_32    conda-forge
libgoogle-cloud           2.26.0               hfe08963_0    conda-forge
libgoogle-cloud-storage   2.26.0               h1466eeb_0    conda-forge
libgrpc                   1.62.2               h9c18a4f_0    conda-forge
libhwloc                  2.11.1          default_h7685b71_1000    conda-forge
libiconv                  1.17                 h0d3ecfb_2    conda-forge
libintl                   0.22.5               h8fbad5d_2    conda-forge
libintl-devel             0.22.5               h8fbad5d_2    conda-forge
libjpeg-turbo             3.0.0                hb547adb_1    conda-forge
liblapack                 3.9.0           17_osxarm64_openblas    conda-forge
liblief                   0.14.1               h3f3aa29_1    conda-forge
libllvm15                 15.0.7               h2621b3d_4    conda-forge
libllvm16                 16.0.6               haab561b_3    conda-forge
libllvm17                 17.0.6               h5090b49_2    conda-forge
libllvm18                 18.1.8               h5090b49_1    conda-forge
libmamba                  1.5.8                h90c426b_0    conda-forge
libmambapy                1.5.8           py311h26e1311_0    conda-forge
libnghttp2                1.58.0               ha4dd798_1    conda-forge
libopenblas               0.3.23          openmp_hc731615_0    conda-forge
libparquet                17.0.0           h56531a6_3_cpu    conda-forge
libpng                    1.6.43               h091b4b1_0    conda-forge
libprotobuf               4.25.3               hbfab5d5_0    conda-forge
libre2-11                 2023.09.01           h7b2c953_2    conda-forge
libsodium                 1.0.18               h27ca646_1    conda-forge
libsolv                   0.7.30               h6c9b7f8_0    conda-forge
libsqlite                 3.46.0               hfb93653_0    conda-forge
libssh2                   1.11.0               h7a5bd25_0    conda-forge
libthrift                 0.19.0               h026a170_1    conda-forge
libtiff                   4.6.0                hf8409c0_4    conda-forge
libutf8proc               2.8.0                h1a8c8d9_0    conda-forge
libwebp-base              1.4.0                h93a5062_0    conda-forge
libxcb                    1.16                 hf2054a2_0    conda-forge
libxml2                   2.12.7               h01dff8b_4    conda-forge
libxslt                   1.1.39               h223e5b9_0    conda-forge
libzlib                   1.3.1                hfb2fe0b_1    conda-forge
license-expression        30.1.1             pyhd8ed1ab_0    conda-forge
llvm-openmp               18.1.8               hde57baf_0    conda-forge
locket                    1.0.0              pyhd8ed1ab_0    conda-forge
loky                      3.4.1              pyhd8ed1ab_0    conda-forge
lxml                      5.2.2           py311hf9a6a72_0    conda-forge
lz4                       4.3.3           py311hd44b8e9_0    conda-forge
lz4-c                     1.9.4                hb7217d7_0    conda-forge
lzo                       2.10              h93a5062_1001    conda-forge
mamba                     1.5.8           py311hb045da1_0    conda-forge
markdown-it-py            3.0.0              pyhd8ed1ab_0    conda-forge
markupsafe                2.1.5           py311h05b510d_0    conda-forge
matplotlib                3.9.1           py311ha1ab1f8_2    conda-forge
matplotlib-base           3.9.1           py311hba6b155_2    conda-forge
matplotlib-inline         0.1.7              pyhd8ed1ab_0    conda-forge
mccabe                    0.7.0              pyhd8ed1ab_0    conda-forge
mdurl                     0.1.2              pyhd8ed1ab_0    conda-forge
menuinst                  2.1.1           py311h267d04e_0    conda-forge
more-itertools            10.3.0             pyhd8ed1ab_0    conda-forge
mpi                       1.0                     openmpi    conda-forge
msgpack-python            1.0.8           py311h6bde47b_0    conda-forge
msrest                    0.7.1              pyhd8ed1ab_0    conda-forge
multidict                 6.0.5           py311he2be06e_0    conda-forge
munkres                   1.1.4              pyh9f0ad1d_0    conda-forge
mypy_extensions           1.0.0              pyha770c72_0    conda-forge
nbformat                  5.10.4             pyhd8ed1ab_0    conda-forge
ncurses                   6.5                  hb89a1cb_0    conda-forge
nest-asyncio              1.6.0              pyhd8ed1ab_0    conda-forge
networkx                  3.3                pyhd8ed1ab_1    conda-forge
nh3                       0.2.18          py311h98c6a39_0    conda-forge
nodeenv                   1.9.1              pyhd8ed1ab_0    conda-forge
numpy                     2.0.1           py311h4268184_0    conda-forge
oauthlib                  3.2.2              pyhd8ed1ab_0    conda-forge
oniguruma                 6.9.9                h93a5062_0    conda-forge
openjpeg                  2.5.2                h9f1df11_0    conda-forge
openmpi                   4.1.5              h4e676fc_101    conda-forge
openssl                   3.3.1                hfb2fe0b_2    conda-forge
oras-py                   0.1.14             pyhd8ed1ab_0    conda-forge
orc                       2.0.1                h47ade37_1    conda-forge
packaging                 24.1               pyhd8ed1ab_0    conda-forge
pandas                    2.2.2           py311h4b4568b_1    conda-forge
parameterized             0.9.0              pyhd8ed1ab_0    conda-forge
parso                     0.8.4              pyhd8ed1ab_0    conda-forge
partd                     1.4.2              pyhd8ed1ab_0    conda-forge
patch                     2.7.6             h27ca646_1002    conda-forge
pathspec                  0.12.1             pyhd8ed1ab_0    conda-forge
pcre2                     10.44                h297a79d_0    conda-forge
perl                      5.32.1          7_h4614cfb_perl5    conda-forge
pexpect                   4.9.0              pyhd8ed1ab_0    conda-forge
pickleshare               0.7.5                   py_1003    conda-forge
pillow                    10.4.0          py311hd7951ec_0    conda-forge
pip                       24.2               pyhd8ed1ab_0    conda-forge
pkginfo                   1.11.1             pyhd8ed1ab_0    conda-forge
pkgutil-resolve-name      1.3.10             pyhd8ed1ab_1    conda-forge
platformdirs              4.2.2              pyhd8ed1ab_0    conda-forge
pluggy                    1.5.0              pyhd8ed1ab_0    conda-forge
pre-commit                3.8.0              pyha770c72_0    conda-forge
prompt-toolkit            3.0.47             pyha770c72_0    conda-forge
prompt_toolkit            3.0.47               hd8ed1ab_0    conda-forge
psutil                    6.0.0           py311hd3f4193_0    conda-forge
pthread-stubs             0.4               h27ca646_1001    conda-forge
ptyprocess                0.7.0              pyhd3deb0d_0    conda-forge
pure_eval                 0.2.3              pyhd8ed1ab_0    conda-forge
py-lief                   0.14.1          py311h6376970_1    conda-forge
pyarrow                   17.0.0          py311h35c05fe_1    conda-forge
pyarrow-core              17.0.0          py311he42f270_1_cpu    conda-forge
pyarrow-hotfix            0.6                pyhd8ed1ab_0    conda-forge
pybind11-abi              4                    hd8ed1ab_3    conda-forge
pycodestyle               2.12.1             pyhd8ed1ab_0    conda-forge
pycosat                   0.6.6           py311heffc1b2_0    conda-forge
pycparser                 2.22               pyhd8ed1ab_0    conda-forge
pycryptodome              3.20.0          py311h7939e9c_0    conda-forge
pydantic                  2.8.2              pyhd8ed1ab_0    conda-forge
pydantic-core             2.20.1          py311h98c6a39_0    conda-forge
pyflakes                  3.2.0              pyhd8ed1ab_0    conda-forge
pygithub                  2.3.0              pyhd8ed1ab_0    conda-forge
pygments                  2.18.0             pyhd8ed1ab_0    conda-forge
pyjwt                     2.9.0              pyhd8ed1ab_1    conda-forge
pynacl                    1.5.0           py311heffc1b2_3    conda-forge
pyobjc-core               10.3.1          py311h5f135c3_0    conda-forge
pyobjc-framework-cocoa    10.3.1          py311h5f135c3_0    conda-forge
pyopenssl                 24.2.1             pyhd8ed1ab_2    conda-forge
pyparsing                 3.1.2              pyhd8ed1ab_0    conda-forge
pyperclip                 1.9.0              pyh534df25_0    conda-forge
pyproject_hooks           1.1.0              pyhd8ed1ab_0    conda-forge
pysocks                   1.7.1              pyha2e5f31_6    conda-forge
pytest                    8.3.2              pyhd8ed1ab_0    conda-forge
python                    3.11.9          h932a869_0_cpython    conda-forge
python-build              1.2.1              pyhd8ed1ab_0    conda-forge
python-dateutil           2.9.0              pyhd8ed1ab_0    conda-forge
python-fastjsonschema     2.20.0             pyhd8ed1ab_0    conda-forge
python-gitlab             4.8.0              pyhd8ed1ab_0    conda-forge
python-libarchive-c       5.1             py311h267d04e_0    conda-forge
python-rapidjson          1.20            py311hb9542d7_0    conda-forge
python-semantic-release   9.8.6              pyhd8ed1ab_0    conda-forge
python-slugify            8.0.4              pyhd8ed1ab_0    conda-forge
python-snappy             0.7.2              pyh7a18afe_0    conda-forge
python-tzdata             2024.1             pyhd8ed1ab_0    conda-forge
python_abi                3.11                    4_cp311    conda-forge
pytz                      2024.1             pyhd8ed1ab_0    conda-forge
pyyaml                    6.0.1           py311heffc1b2_1    conda-forge
pyzmq                     26.0.3          py311h9bed540_0    conda-forge
qhull                     2020.2               h420ef59_5    conda-forge
rattler-build             0.19.0               hc069d6b_0    conda-forge
rattler-build-conda-compat 1.1.1              pyhd8ed1ab_0    conda-forge
re2                       2023.09.01           h4cba328_2    conda-forge
readline                  8.2                  h92ec313_1    conda-forge
readme_renderer           44.0               pyhd8ed1ab_0    conda-forge
referencing               0.35.1             pyhd8ed1ab_0    conda-forge
reproc                    14.2.4.post0         h93a5062_1    conda-forge
reproc-cpp                14.2.4.post0         h965bd2d_1    conda-forge
requests                  2.32.3             pyhd8ed1ab_0    conda-forge
requests-oauthlib         2.0.0              pyhd8ed1ab_0    conda-forge
requests-toolbelt         1.0.0              pyhd8ed1ab_0    conda-forge
rever                     0.5.1              pyhd8ed1ab_0    conda-forge
rfc3986                   2.0.0              pyhd8ed1ab_0    conda-forge
rich                      13.7.1             pyhd8ed1ab_0    conda-forge
ripgrep                   14.1.0               h5ef7bb8_0    conda-forge
rpds-py                   0.19.1          py311h98c6a39_0    conda-forge
ruamel.yaml               0.18.6          py311h05b510d_0    conda-forge
ruamel.yaml.clib          0.2.8           py311h05b510d_0    conda-forge
ruamel.yaml.jinja2        0.2.4                      py_1    conda-forge
ruff                      0.5.6           py311hd374d79_0    conda-forge
s3fs                      2024.6.1           pyhd8ed1ab_0    conda-forge
scrypt                    0.8.24          py311ha9e1553_0    conda-forge
semver                    3.0.2              pyhd8ed1ab_0    conda-forge
setproctitle              1.3.3           py311heffc1b2_0    conda-forge
setuptools                72.1.0             pyhd8ed1ab_0    conda-forge
setuptools-scm            8.1.0              pyhd8ed1ab_0    conda-forge
setuptools_scm            8.1.0                hd8ed1ab_0    conda-forge
shellingham               1.5.4              pyhd8ed1ab_0    conda-forge
sigtool                   0.1.3                h44b9a77_0    conda-forge
six                       1.16.0             pyh6c4a22f_0    conda-forge
smmap                     5.0.0              pyhd8ed1ab_0    conda-forge
snappy                    1.2.1                hd02b534_0    conda-forge
sniffio                   1.3.1              pyhd8ed1ab_0    conda-forge
sortedcontainers          2.4.0              pyhd8ed1ab_0    conda-forge
soupsieve                 2.5                pyhd8ed1ab_1    conda-forge
stack_data                0.6.2              pyhd8ed1ab_0    conda-forge
tapi                      1100.0.11            he4954df_0    conda-forge
tblib                     3.0.0              pyhd8ed1ab_0    conda-forge
text-unidecode            1.3                pyhd8ed1ab_1    conda-forge
tk                        8.6.13               h5083fa2_1    conda-forge
toml                      0.10.2             pyhd8ed1ab_0    conda-forge
tomli                     2.0.1              pyhd8ed1ab_0    conda-forge
tomli-w                   1.0.0              pyhd8ed1ab_0    conda-forge
tomlkit                   0.13.0             pyha770c72_0    conda-forge
toolz                     0.12.1             pyhd8ed1ab_0    conda-forge
tornado                   6.4.1           py311hd3f4193_0    conda-forge
tqdm                      4.66.5             pyhd8ed1ab_0    conda-forge
traitlets                 5.14.3             pyhd8ed1ab_0    conda-forge
trove-classifiers         2024.7.2           pyhd8ed1ab_0    conda-forge
truststore                0.8.0              pyhd8ed1ab_0    conda-forge
twine                     5.1.0              pyhd8ed1ab_0    conda-forge
typer                     0.12.3             pyhd8ed1ab_0    conda-forge
typer-slim                0.12.3             pyhd8ed1ab_0    conda-forge
typer-slim-standard       0.12.3               hd8ed1ab_0    conda-forge
types-python-dateutil     2.9.0.20240316     pyhd8ed1ab_0    conda-forge
types-pyyaml              6.0.12.20240724    pyhd8ed1ab_0    conda-forge
types-toml                0.10.8.20240310    pyhd8ed1ab_0    conda-forge
typing-extensions         4.12.2               hd8ed1ab_0    conda-forge
typing_extensions         4.12.2             pyha770c72_0    conda-forge
tzdata                    2024a                h0c530f3_0    conda-forge
ukkonen                   1.0.1           py311he4fd1f5_4    conda-forge
uritemplate               4.1.1              pyhd8ed1ab_0    conda-forge
urllib3                   2.2.2              pyhd8ed1ab_1    conda-forge
userpath                  1.7.0              pyhd8ed1ab_0    conda-forge
uv                        0.2.33               h3b92f66_0    conda-forge
virtualenv                20.26.3            pyhd8ed1ab_0    conda-forge
vsts-python-api           0.1.22                     py_0    conda-forge
wcwidth                   0.2.13             pyhd8ed1ab_0    conda-forge
webencodings              0.5.1              pyhd8ed1ab_2    conda-forge
wheel                     0.44.0             pyhd8ed1ab_0    conda-forge
wrapt                     1.16.0          py311h05b510d_0    conda-forge
wurlitzer                 3.1.1              pyhd8ed1ab_0    conda-forge
xmltodict                 0.13.0             pyhd8ed1ab_0    conda-forge
xonsh                     0.18.2          py311h267d04e_0    conda-forge
xorg-libxau               1.0.11               hb547adb_0    conda-forge
xorg-libxdmcp             1.1.3                h27ca646_0    conda-forge
xyzservices               2024.6.0           pyhd8ed1ab_0    conda-forge
xz                        5.2.6                h57fd34a_0    conda-forge
yaml                      0.2.5                h3422bc3_2    conda-forge
yaml-cpp                  0.8.0                h13dd4ca_0    conda-forge
yamllint                  1.35.1             pyhd8ed1ab_0    conda-forge
yarl                      1.9.4           py311h05b510d_0    conda-forge
yq                        3.4.3              pyhd8ed1ab_0    conda-forge
zeromq                    4.3.5                hcc0f68c_4    conda-forge
zict                      3.0.0              pyhd8ed1ab_0    conda-forge
zipp                      3.19.2             pyhd8ed1ab_0    conda-forge
zlib                      1.3.1                hfb2fe0b_1    conda-forge
zstandard                 0.23.0          py311h4a6b76e_0    conda-forge
zstd                      1.5.6                hb46c0d2_0    conda-forge

Additional Context

xref conda-forge/conda-smithy#2012

cc @h-vetinari

@beckermr beckermr added the type::bug describes erroneous operation, use severity::* to classify the type label Aug 6, 2024
@beckermr
Copy link
Contributor Author

beckermr commented Aug 6, 2024

If I remove the output and use a simple recipe like this:

{% if CLANG_VERSION is not defined %}
{% set CLANG_VERSION = "16.0.6" %}
{% set CL_VERSION = "19.29" %}
{% set VCVER = "" %}
{% endif %}
{% set clang_major = CLANG_VERSION.split(".")[0] %}
{% set cl_minor = CL_VERSION.split(".")[1] %}
{% set vc_major = VCVER.split(".")[0] %}

package:
  name: clang-win-activation
  version: {{ CLANG_VERSION }}

build:
  number: 0
  {% if clang_major|int == 16 and cl_minor|int >= 40 %}
  skip: true
  {% endif %}
  run_exports:
    strong:
      - vc >={{ VCVER }}

requirements:
  run:
    - clang {{ CLANG_VERSION }}.*

the bug appears to go away.

@beckermr
Copy link
Contributor Author

beckermr commented Aug 6, 2024

Moving the skip to the output also works fine:

{% if CLANG_VERSION is not defined %}
{% set CLANG_VERSION = "16.0.6" %}
{% set CL_VERSION = "19.29" %}
{% set VCVER = "" %}
{% endif %}
{% set clang_major = CLANG_VERSION.split(".")[0] %}
{% set cl_minor = CL_VERSION.split(".")[1] %}
{% set vc_major = VCVER.split(".")[0] %}

package:
  name: clang-win-activation
  version: {{ CLANG_VERSION }}

build:
  number: 0

outputs:
  - name: clang_win-64
    build:
      {% if clang_major|int == 16 and cl_minor|int >= 40 %}
      skip: true
      {% endif %}
      run_exports:
        strong:
          - vc >={{ VCVER }}
    requirements:
      run:
        - clang {{ CLANG_VERSION }}.*

@beckermr
Copy link
Contributor Author

beckermr commented Aug 6, 2024

An explicit skip via a selector works OK too:

{% if CLANG_VERSION is not defined %}
{% set CLANG_VERSION = "16.0.6" %}
{% set CL_VERSION = "19.29" %}
{% set VCVER = "" %}
{% endif %}
{% set clang_major = CLANG_VERSION.split(".")[0] %}
{% set cl_minor = CL_VERSION.split(".")[1] %}
{% set vc_major = VCVER.split(".")[0] %}

package:
  name: clang-win-activation
  version: {{ CLANG_VERSION }}

build:
  number: 0
  skip: true  # [CLANG_VERSION == "16.0.6" and CL_VERSION == "19.40.33808"]

outputs:
  - name: clang_win-64
    build:
      run_exports:
        strong:
          - vc >={{ VCVER }}
    requirements:
      run:
        - clang {{ CLANG_VERSION }}.*

@beckermr
Copy link
Contributor Author

beckermr commented Aug 6, 2024

This same bug is present all the way back to conda-build 3.24.*. However this worked before @h-vetinari, it was apparently not the exact same edge case or something.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type::bug describes erroneous operation, use severity::* to classify the type
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

2 participants