-
Notifications
You must be signed in to change notification settings - Fork 459
Closed
Labels
in-progressissue is actively being worked onissue is actively being worked onregressionseverity::1blocker; broken functionality with no workaroundblocker; broken functionality with no workaroundsource::communitycatch-all for issues filed by community memberscatch-all for issues filed by community memberstype::bugdescribes erroneous operation, use severity::* to classify the typedescribes erroneous operation, use severity::* to classify the type
Milestone
Description
Checklist
- I added a descriptive title
- I searched open reports and couldn't find a duplicate
What happened?
Previously it was possible to use is undefined
in recipes either in selectors or Jinja to check if a variable was undefined. This was typically used as part of the recipe rendering process like to provide a default value or skip a block of the recipe that wouldn't make sense until a later stage. However as of conda-build 25.4, these checks are flagged as problematic.
Here is a simple recipe to demonstrate the problem:
# filename: py_ex_recipe/meta.yaml
package:
name: py_ex_recipe
version: 1.0.0
requirements:
host:
- python
run:
- python
extra:
python_min: {{ python_min }} # [python_min is not undefined]
# filename: py_ex_recipe/conda_build_config.yaml
python_min:
- "3.9"
With conda-build 25.3, this builds without issues. The final package has a recipe included that has an extra
section with python_min: '3.9'
.
With conda-build 25.4, we see the following error
CondaBuildUserError: Invalid selector in meta.yaml line 12:
offending selector:
[python_min is not undefined]
exception:
ValidationException: Node type 'IsNot' is not allowed. (whitelist it manually)
Should add this is true with is
as well
Conda Info
active environment : base
active env location : /Users/jkirkham/miniforge
shell level : 1
user config file : /Users/jkirkham/.condarc
populated config files : /Users/jkirkham/miniforge/.condarc
/Users/jkirkham/.condarc
conda version : 25.3.1
conda-build version : 25.4.2
python version : 3.12.5.final.0
solver : libmamba (default)
virtual packages : __archspec=1=m1
__conda=25.3.1=0
__osx=14.7.1=0
__unix=0=0
base environment : /Users/jkirkham/miniforge (writable)
conda av data dir : /Users/jkirkham/miniforge/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/jkirkham/miniforge/pkgs
/Users/jkirkham/.conda/pkgs
envs directories : /Users/jkirkham/miniforge/envs
/Users/jkirkham/.conda/envs
platform : osx-arm64
user-agent : conda/25.3.1 requests/2.32.3 CPython/3.12.5 Darwin/23.6.0 OSX/14.7.1 solver/libmamba conda-libmamba-solver/25.4.0 libmambapy/2.1.1
UID:GID : 502:20
netrc file : None
offline mode : False
Conda Config
==> /Users/jkirkham/miniforge/.condarc <==
channels:
- conda-forge
==> /Users/jkirkham/.condarc <==
channels: []
shortcuts: False
solver: libmamba
==> envvars <==
allow_softlinks: False
Conda list
# packages in environment at /Users/jkirkham/miniforge:
#
# Name Version Build Channel
anaconda-cli-base 0.5.2 pyhd8ed1ab_0 conda-forge
anaconda-client 1.13.0 pyh29332c3_1 conda-forge
anaconda-project 0.11.1 pyhd8ed1ab_0 conda-forge
annotated-types 0.7.0 pyhd8ed1ab_1 conda-forge
anyio 3.7.1 pyhd8ed1ab_0 conda-forge
appnope 0.1.4 pyhd8ed1ab_1 conda-forge
archspec 0.2.5 pyhd8ed1ab_0 conda-forge
asttokens 3.0.0 pyhd8ed1ab_1 conda-forge
attrs 25.3.0 pyh71513ae_0 conda-forge
azure-core 1.34.0 pyhd8ed1ab_0 conda-forge
backcall 0.2.0 pyh9f0ad1d_0 conda-forge
backports 1.0 pyhd8ed1ab_5 conda-forge
backports.functools_lru_cache 2.0.0 pyhd8ed1ab_1 conda-forge
backports.strenum 1.3.1 haf276df_2 conda-forge
backports.tarfile 1.2.0 pyhd8ed1ab_1 conda-forge
beautifulsoup4 4.13.4 pyha770c72_0 conda-forge
blinker 1.9.0 pyhff2d567_0 conda-forge
boltons 24.0.0 pyhd8ed1ab_1 conda-forge
boolean.py 5.0 pyhd8ed1ab_0 conda-forge
brotli 1.1.0 hd74edd7_2 conda-forge
brotli-bin 1.1.0 hd74edd7_2 conda-forge
brotli-python 1.1.0 py312hde4cb15_2 conda-forge
brotlipy 0.7.0 py312h024a12e_1007 conda-forge
bzip2 1.0.8 h99b78c6_7 conda-forge
c-ares 1.34.5 h5505292_0 conda-forge
ca-certificates 2025.4.26 hbd8a1cb_0 conda-forge
cctools 1010.6 h617d6d1_6 conda-forge
cctools_osx-arm64 1010.6 h729f01a_6 conda-forge
certifi 2025.4.26 pyhd8ed1ab_0 conda-forge
cffi 1.17.1 py312h0fad829_0 conda-forge
chardet 5.2.0 pyhd8ed1ab_3 conda-forge
charset-normalizer 3.4.2 pyhd8ed1ab_0 conda-forge
cirun 0.30 pyhd8ed1ab_1 conda-forge
click 8.2.1 pyh707e725_0 conda-forge
clyent 1.2.2 pyhd8ed1ab_2 conda-forge
colorama 0.4.6 pyhd8ed1ab_1 conda-forge
conda 25.3.1 py312h81bd7bf_1 conda-forge
conda-build 25.4.2 py312h81bd7bf_0 conda-forge
conda-forge-pinning 2025.05.21.16.16.33 hd8ed1ab_0 conda-forge
conda-index 0.6.0 pyhd8ed1ab_0 conda-forge
conda-libmamba-solver 25.4.0 pyhd8ed1ab_0 conda-forge
conda-pack 0.8.1 pyhd8ed1ab_1 conda-forge
conda-package-handling 2.4.0 pyh7900ff3_2 conda-forge
conda-package-streaming 0.11.0 pyhd8ed1ab_1 conda-forge
conda-smithy 3.48.1 unix_pyhd81877a_0 conda-forge
conda-souschef 2.2.3 pyhd8ed1ab_0 conda-forge
conda-tree 1.1.1 pyhff2d567_0 conda-forge
coverage 7.8.1 py312h998013c_0 conda-forge
cpp-expected 1.1.0 h177bc72_1 conda-forge
cryptography 45.0.2 py312hf9bd80e_0 conda-forge
curl 8.13.0 h73640d1_0 conda-forge
cytoolz 1.0.1 py312hea69d52_0 conda-forge
dataclasses 0.8 pyhc8e2a94_3 conda-forge
decorator 5.2.1 pyhd8ed1ab_0 conda-forge
defusedxml 0.7.1 pyhd8ed1ab_0 conda-forge
deprecated 1.2.18 pyhd8ed1ab_0 conda-forge
distlib 0.3.9 pyhd8ed1ab_1 conda-forge
distro 1.9.0 pyhd8ed1ab_1 conda-forge
editables 0.5 pyhd8ed1ab_1 conda-forge
evalidate 2.0.5 pyhe01879c_0 conda-forge
exceptiongroup 1.3.0 pyhd8ed1ab_0 conda-forge
executing 2.2.0 pyhd8ed1ab_0 conda-forge
expat 2.7.0 h286801f_0 conda-forge
filelock 3.18.0 pyhd8ed1ab_0 conda-forge
fmt 11.1.4 h440487c_1 conda-forge
frozendict 2.4.6 py312h0bf5046_0 conda-forge
gettext 0.24.1 h3dcc1bd_0 conda-forge
gettext-tools 0.24.1 h493aca8_0 conda-forge
git 2.49.0 pl5321ha659579_1 conda-forge
gitdb 4.0.12 pyhd8ed1ab_0 conda-forge
gitpython 3.1.44 pyhff2d567_0 conda-forge
glob2 0.7 py_0 conda-forge
gmp 6.3.0 h7bae524_2 conda-forge
grayskull 2.9.1 pyhd8ed1ab_0 conda-forge
h11 0.14.0 pyhd8ed1ab_1 conda-forge
h2 4.2.0 pyhd8ed1ab_0 conda-forge
hatch 1.14.1 pyhd8ed1ab_0 conda-forge
hatchling 1.27.0 pypyhd8ed1ab_0 conda-forge
hpack 4.1.0 pyhd8ed1ab_0 conda-forge
httpcore 1.0.7 pyh29332c3_1 conda-forge
httpx 0.28.1 pyhd8ed1ab_0 conda-forge
hyperframe 6.1.0 pyhd8ed1ab_0 conda-forge
hyperlink 21.0.0 pyh29332c3_1 conda-forge
idna 3.10 pyhd8ed1ab_1 conda-forge
importlib-metadata 8.6.1 pyha770c72_0 conda-forge
importlib_metadata 8.6.1 hd8ed1ab_0 conda-forge
importlib_resources 6.5.2 pyhd8ed1ab_0 conda-forge
iniconfig 2.0.0 pyhd8ed1ab_1 conda-forge
ipython 9.2.0 pyhfb0248b_0 conda-forge
ipython_pygments_lexers 1.1.1 pyhd8ed1ab_0 conda-forge
isodate 0.7.2 pyhd8ed1ab_1 conda-forge
jaraco.classes 3.4.0 pyhd8ed1ab_2 conda-forge
jaraco.context 6.0.1 pyhd8ed1ab_0 conda-forge
jaraco.functools 4.1.0 pyhd8ed1ab_0 conda-forge
jedi 0.19.2 pyhd8ed1ab_1 conda-forge
jinja2 3.1.6 pyhd8ed1ab_0 conda-forge
joblib 1.5.0 pyhd8ed1ab_0 conda-forge
json5 0.12.0 pyhd8ed1ab_0 conda-forge
jsonpatch 1.33 pyhd8ed1ab_1 conda-forge
jsonpointer 3.0.0 py312h81bd7bf_1 conda-forge
jsonschema 4.23.0 pyhd8ed1ab_1 conda-forge
jsonschema-specifications 2025.4.1 pyh29332c3_0 conda-forge
jupyter_core 5.7.2 pyh31011fe_1 conda-forge
keyring 25.6.0 pyh534df25_0 conda-forge
krb5 1.21.3 h237132a_0 conda-forge
lcms2 2.17 h7eeda09_0 conda-forge
ld64 951.9 hb625feb_6 conda-forge
ld64_osx-arm64 951.9 hcfee506_6 conda-forge
lerc 4.0.0 hd64df32_1 conda-forge
libarchive 3.7.7 h3c2f2b0_4 conda-forge
libasprintf 0.24.1 h493aca8_0 conda-forge
libasprintf-devel 0.24.1 h493aca8_0 conda-forge
libblas 3.9.0 31_h10e41b3_openblas conda-forge
libbrotlicommon 1.1.0 hd74edd7_2 conda-forge
libbrotlidec 1.1.0 hd74edd7_2 conda-forge
libbrotlienc 1.1.0 hd74edd7_2 conda-forge
libcblas 3.9.0 31_hb3479ef_openblas conda-forge
libcurl 8.13.0 h73640d1_0 conda-forge
libcxx 20.1.5 ha82da77_0 conda-forge
libdeflate 1.24 h5773f1b_0 conda-forge
libedit 3.1.20250104 pl5321hafb1f1b_0 conda-forge
libev 4.33 h93a5062_2 conda-forge
libexpat 2.7.0 h286801f_0 conda-forge
libffi 3.4.6 h1da3d7d_1 conda-forge
libfreetype 2.13.3 hce30654_1 conda-forge
libfreetype6 2.13.3 h1d14073_1 conda-forge
libgettextpo 0.24.1 h493aca8_0 conda-forge
libgettextpo-devel 0.24.1 h493aca8_0 conda-forge
libgfortran 14.2.0 heb5dd2a_105 conda-forge
libgfortran5 14.2.0 h2c44a93_105 conda-forge
libgit2 1.9.0 he19e06a_2 conda-forge
libiconv 1.18 hfe07756_1 conda-forge
libintl 0.24.1 h493aca8_0 conda-forge
libintl-devel 0.24.1 h493aca8_0 conda-forge
libjpeg-turbo 3.1.0 h5505292_0 conda-forge
liblapack 3.9.0 31_hc9a63f6_openblas conda-forge
liblief 0.16.4 h286801f_0 conda-forge
libllvm14 14.0.6 hd1a9a77_4 conda-forge
libllvm15 15.0.7 h4429f82_5 conda-forge
libllvm16 16.0.6 hc4b4ae8_4 conda-forge
libllvm17 17.0.6 hc4b4ae8_3 conda-forge
libllvm18 18.1.8 hc4b4ae8_3 conda-forge
libllvm20 20.1.5 h598bca7_0 conda-forge
liblzma 5.8.1 h39f12f2_1 conda-forge
liblzma-devel 5.8.1 h39f12f2_1 conda-forge
libmamba 2.1.1 h7c3736b_0 conda-forge
libmambapy 2.1.1 py312h9b24f82_0 conda-forge
libnghttp2 1.64.0 h6d7220d_0 conda-forge
libopenblas 0.3.29 openmp_hf332438_0 conda-forge
libpng 1.6.47 h3783ad8_0 conda-forge
libsodium 1.0.20 h99b78c6_0 conda-forge
libsolv 0.7.32 h13dfb9a_2 conda-forge
libsqlite 3.49.2 h3f77e49_0 conda-forge
libssh2 1.11.1 h9cc3647_0 conda-forge
libtiff 4.7.0 h2f21f7c_5 conda-forge
libwebp-base 1.5.0 h2471fea_0 conda-forge
libxcb 1.17.0 hdb1d25a_0 conda-forge
libxml2 2.13.8 hcc23dba_0 conda-forge
libzlib 1.3.1 h8359307_2 conda-forge
license-expression 30.4.1 pyhd8ed1ab_0 conda-forge
llvm-openmp 20.1.5 hdb05f8b_0 conda-forge
llvm-tools 20.1.5 hd2aecb6_0 conda-forge
llvm-tools-20 20.1.5 h87a4c7e_0 conda-forge
lz4-c 1.10.0 h286801f_1 conda-forge
lzo 2.10 h93a5062_1001 conda-forge
mamba 2.1.1 h105ca85_0 conda-forge
markdown-it-py 3.0.0 pyhd8ed1ab_1 conda-forge
markupsafe 3.0.2 py312h998013c_1 conda-forge
matplotlib-inline 0.1.7 pyhd8ed1ab_1 conda-forge
mbedtls 3.5.1 h286801f_1 conda-forge
mdurl 0.1.2 pyhd8ed1ab_1 conda-forge
menuinst 2.2.0 py312h81bd7bf_0 conda-forge
more-itertools 10.7.0 pyhd8ed1ab_0 conda-forge
msgpack-python 1.1.0 py312h6142ec9_0 conda-forge
msrest 0.6.21 pyh44b312d_0 conda-forge
nbformat 5.10.4 pyhd8ed1ab_1 conda-forge
ncurses 6.5 h5e97a16_3 conda-forge
networkx 3.4.2 pyh267e887_2 conda-forge
nlohmann_json 3.11.3 h00cdb27_1 conda-forge
numpy 2.2.6 py312h7c1f314_0 conda-forge
oauthlib 3.2.2 pyhd8ed1ab_1 conda-forge
openjpeg 2.5.3 h8a3d83b_0 conda-forge
openssl 3.5.0 h81ee809_1 conda-forge
packaging 25.0 pyh29332c3_1 conda-forge
parso 0.8.4 pyhd8ed1ab_1 conda-forge
patch 2.7.6 h27ca646_1002 conda-forge
pathspec 0.12.1 pyhd8ed1ab_1 conda-forge
pcre2 10.45 ha881caa_0 conda-forge
perl 5.32.1 7_h4614cfb_perl5 conda-forge
pexpect 4.9.0 pyhd8ed1ab_1 conda-forge
pickleshare 0.7.5 pyhd8ed1ab_1004 conda-forge
pillow 11.2.1 py312h50aef2c_0 conda-forge
pip 25.1.1 pyh8b19718_0 conda-forge
pkginfo 1.12.1.2 pyhd8ed1ab_0 conda-forge
pkgutil-resolve-name 1.3.10 pyhd8ed1ab_2 conda-forge
platformdirs 4.3.8 pyhe01879c_0 conda-forge
pluggy 1.6.0 pyhd8ed1ab_0 conda-forge
progressbar2 4.5.0 pyhd8ed1ab_1 conda-forge
prompt-toolkit 3.0.51 pyha770c72_0 conda-forge
prompt_toolkit 3.0.51 hd8ed1ab_0 conda-forge
psutil 7.0.0 py312hea69d52_0 conda-forge
pthread-stubs 0.4 hd74edd7_1002 conda-forge
ptyprocess 0.7.0 pyhd8ed1ab_1 conda-forge
pure_eval 0.2.3 pyhd8ed1ab_1 conda-forge
py-lief 0.16.4 py312hd8f9ff3_0 conda-forge
pybind11-abi 4 hd8ed1ab_3 conda-forge
pycosat 0.6.6 py312hea69d52_2 conda-forge
pycparser 2.22 pyh29332c3_1 conda-forge
pycryptodome 3.23.0 py312ha135e06_0 conda-forge
pydantic 2.11.4 pyh3cfb1c2_0 conda-forge
pydantic-core 2.33.2 py312hd3c0895_0 conda-forge
pydantic-settings 2.9.1 pyh3cfb1c2_0 conda-forge
pygit2 1.18.0 py312hd525726_0 conda-forge
pygithub 2.6.1 pyhd8ed1ab_0 conda-forge
pygments 2.19.1 pyhd8ed1ab_0 conda-forge
pyjwt 2.10.1 pyhd8ed1ab_0 conda-forge
pynacl 1.5.0 py312h024a12e_4 conda-forge
pyobjc-core 11.0 py312hb9d441b_0 conda-forge
pyobjc-framework-cocoa 11.0 py312hb9d441b_0 conda-forge
pyopenssl 25.1.0 pyhd8ed1ab_0 conda-forge
pyperclip 1.9.0 pyh534df25_3 conda-forge
pyproject_hooks 1.2.0 pyhd8ed1ab_1 conda-forge
pyrsistent 0.20.0 py312h024a12e_1 conda-forge
pysocks 1.7.1 pyha55dd90_7 conda-forge
pytest 8.3.5 pyhd8ed1ab_0 conda-forge
pytest-cov 6.1.1 pyhd8ed1ab_0 conda-forge
pytest-rerunfailures 15.1 pyhd8ed1ab_0 conda-forge
pytest-timeout 2.4.0 pyhd8ed1ab_0 conda-forge
python 3.12.5 h30c5eda_0_cpython conda-forge
python-build 1.2.2.post1 pyhff2d567_1 conda-forge
python-dateutil 2.9.0.post0 pyhff2d567_1 conda-forge
python-dotenv 1.1.0 pyh29332c3_1 conda-forge
python-fastjsonschema 2.21.1 pyhd8ed1ab_0 conda-forge
python-libarchive-c 5.2 pyh29332c3_0 conda-forge
python-utils 3.9.1 pyhff2d567_1 conda-forge
python_abi 3.12 7_cp312 conda-forge
pytz 2025.2 pyhd8ed1ab_0 conda-forge
pyyaml 6.0.2 py312h998013c_2 conda-forge
rapidfuzz 3.13.0 py312hd8f9ff3_0 conda-forge
rattler-build 0.42.1 h8dba533_0 conda-forge
rattler-build-conda-compat 1.4.3 pyhd8ed1ab_0 conda-forge
readchar 4.2.0 pyhd8ed1ab_1 conda-forge
readline 8.2 h1d1bf99_2 conda-forge
referencing 0.36.2 pyh29332c3_0 conda-forge
reproc 14.2.5.post0 h5505292_0 conda-forge
reproc-cpp 14.2.5.post0 h286801f_0 conda-forge
requests 2.32.3 pyhd8ed1ab_1 conda-forge
requests-oauthlib 2.0.0 pyhd8ed1ab_1 conda-forge
requests-toolbelt 1.0.0 pyhd8ed1ab_1 conda-forge
rich 14.0.0 pyh29332c3_0 conda-forge
ripgrep 14.1.1 h0ef69ab_1 conda-forge
rpds-py 0.25.1 py312hd3c0895_0 conda-forge
ruamel.yaml 0.18.10 py312hea69d52_0 conda-forge
ruamel.yaml.clib 0.2.8 py312h0bf5046_1 conda-forge
ruamel.yaml.jinja2 0.2.7 pyhd8ed1ab_1 conda-forge
ruamel_yaml 0.15.80 py312h02f2b3b_1009 conda-forge
scrypt 0.8.27 py312ha571a58_0 conda-forge
setuptools 80.8.0 pyhff2d567_0 conda-forge
shellingham 1.5.4 pyhd8ed1ab_1 conda-forge
shyaml 0.6.2 pyhd3deb0d_0 conda-forge
sigtool 0.1.3 h44b9a77_0 conda-forge
simdjson 3.12.3 ha393de7_0 conda-forge
six 1.17.0 pyhd8ed1ab_0 conda-forge
smmap 5.0.2 pyhd8ed1ab_0 conda-forge
sniffio 1.3.1 pyhd8ed1ab_1 conda-forge
soupsieve 2.7 pyhd8ed1ab_0 conda-forge
stack_data 0.6.3 pyhd8ed1ab_1 conda-forge
stdlib-list 0.11.1 pyhd8ed1ab_0 conda-forge
tapi 1300.6.5 h03f4b80_0 conda-forge
threadpoolctl 3.6.0 pyhecae5ae_0 conda-forge
tk 8.6.13 h5083fa2_1 conda-forge
toml 0.10.2 pyhd8ed1ab_1 conda-forge
tomli 2.2.1 pyhd8ed1ab_1 conda-forge
tomli-w 1.2.0 pyhd8ed1ab_0 conda-forge
tomlkit 0.13.2 pyha770c72_1 conda-forge
toolz 1.0.0 pyhd8ed1ab_1 conda-forge
tornado 6.5 py312hea69d52_0 conda-forge
tqdm 4.67.1 pyhd8ed1ab_1 conda-forge
traitlets 5.14.3 pyhd8ed1ab_1 conda-forge
trove-classifiers 2025.5.9.12 pyhd8ed1ab_0 conda-forge
truststore 0.10.1 pyh29332c3_0 conda-forge
typer 0.15.3 pyhf21524f_0 conda-forge
typer-slim 0.15.3 pyh29332c3_0 conda-forge
typer-slim-standard 0.15.3 h1a15894_0 conda-forge
typing-extensions 4.13.2 h0e9735f_0 conda-forge
typing-inspection 0.4.0 pyhd8ed1ab_0 conda-forge
typing_extensions 4.13.2 pyh29332c3_0 conda-forge
tzdata 2025b h78e105d_0 conda-forge
urllib3 2.4.0 pyhd8ed1ab_0 conda-forge
userpath 1.9.2 pyhd8ed1ab_0 conda-forge
uv 0.7.6 hd4c9240_0 conda-forge
virtualenv 20.31.2 pyhd8ed1ab_0 conda-forge
vsts-python-api 0.1.25 pyhd8ed1ab_2 conda-forge
watchgod 0.8.2 pyhd8ed1ab_1 conda-forge
wcwidth 0.2.13 pyhd8ed1ab_1 conda-forge
wheel 0.45.1 pyhd8ed1ab_1 conda-forge
wrapt 1.17.2 py312hea69d52_0 conda-forge
xorg-libxau 1.0.12 h5505292_0 conda-forge
xorg-libxdmcp 1.1.5 hd74edd7_0 conda-forge
xz 5.8.1 h9a6d368_1 conda-forge
xz-gpl-tools 5.8.1 h9a6d368_1 conda-forge
xz-tools 5.8.1 h39f12f2_1 conda-forge
yaml 0.2.5 h3422bc3_2 conda-forge
yaml-cpp 0.8.0 h13dd4ca_0 conda-forge
zipp 3.21.0 pyhd8ed1ab_1 conda-forge
zstandard 0.23.0 py312hea69d52_2 conda-forge
zstd 1.5.7 h6491c7d_2 conda-forge
Additional Context
No response
Metadata
Metadata
Assignees
Labels
in-progressissue is actively being worked onissue is actively being worked onregressionseverity::1blocker; broken functionality with no workaroundblocker; broken functionality with no workaroundsource::communitycatch-all for issues filed by community memberscatch-all for issues filed by community memberstype::bugdescribes erroneous operation, use severity::* to classify the typedescribes erroneous operation, use severity::* to classify the type
Type
Projects
Status
🏁 Done