-
-
Notifications
You must be signed in to change notification settings - Fork 185
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
ENH: correctly rerender CI configs with new stdlib jinja-function #1840
Comments
I wonder if conda build has a default somewhere. |
Sure, that's a probable answer where "gcc" comes from. But luckily we shouldn't need conda-build (or changes to it) here - we only need to pick up settings for So far, even if I extend the |
I'd check the configure feedstock code bits. There are explicit lists of variables there. I am betting this needs to be added to one of those lists. |
Try line 359 in configure_feedstock.py |
Thanks for the hint! I had remembered something about I tried adding |
That seems like a conda build issue, not a smithy one. Smithy uses conda build to do basically all of the handling of these keys. |
Here is where conda-build sets the gcc default: https://github.com/conda/conda-build/blob/f60b5fc40f502398530e4c143118e7fbaaaa5bef/conda_build/variants.py#L76 |
We may need to expand the regex that looks for variables? |
We may also need to add stdlib to the base default variant: https://github.com/conda/conda-build/blob/f60b5fc40f502398530e4c143118e7fbaaaa5bef/conda_build/variants.py#L119 |
cc @mbargull for comments since he knows conda-build very well. |
Thanks a lot for the pointers. I was hoping we could avoid touching conda-build again, but that was hopelessly optimistic it seems. I'll try to look at things more closely and come up with a PR. |
It may be possible to adjust / wrap the conda-build internals with functions in smithy, but yeah, we may need to go back to conda-builds. |
The |
Presumably fixed with conda/conda-build#5195 (if CI confirms the added test passes). |
I'm aware of that of course, though the "not yet used feature" argument goes both ways - there's no risk in backporting a fix. In any case, if conda-build decides not to backport, I'll try to make the case for a conda-forge-specific backport on the feedstock. There's large body of work backed up on this (e.g. to unblock the macOS situation, resp. fulfill our announcement to move to cos7 in the summer), so I think there would be good arguments also conda-forge-internally. And if even that fails, I'll wait for 24.3. ;-) |
This is in the context of regro/cf-scripts#2135 (see links therein).
I tried rendering a recipe with
- {{ stdlib("c") }}
, and unsurprisingly it failed. Adding the following patcheliminates the failure (edit: this turned into #1846), but while trying to write tests for this, I got stuck with understanding where in smithy the actual content of the CBC gets generated, and more importantly, where the values are taken from.
For example, I cannot find how gcc gets inserted as the c_compiler - it's neither specified in the code, nor injected by the fixture or the test, nor does it read the global pinning AFAICT.
I tried to follow what's happening in
https://github.com/conda-forge/conda-smithy/blob/main/conda_smithy/configure_feedstock.py and others, and have followed several (apparently) false leads already, so I thought I'd ask if someone can tell me where to look.
To be clear, what I want to ensure is that a line like
- {{ stdlib("c") }}
ends up inserting the correctc_stdlib{,_version}: ...
into the generated ci-config files (pretty much exactly like we do for the compilers), c.f. also conda-forge/conda-forge-pinning-feedstock#5499.CC @beckermr
The text was updated successfully, but these errors were encountered: