-
-
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
merge c_stdlib_version & MACOSX_DEPLOYMENT_TARGET on osx #1889
Conversation
d0c46c1
to
43beab9
Compare
Other than the discussion that already started, AFAICT this should do what we discussed in #1884 (warns in case of mismatch, uses max to populate both values), as confirmed also by the test. |
Pulling out a comment from the review thread
I'm not sure I want to deal with having to insert something into the mega-zip involving Though I guess adding |
Yep. The keys are one to one so inserting should be safe. |
Opened conda-forge/conda-forge-pinning-feedstock#5669. Coming back to
I think this is now unnecessary, as in practice (i.e. when the global pinning is in use), there'll always be a zip, and both |
Ok. I don't understand the trade offs between these approaches but it appears it should work. We'll want some more eyes on this likely. |
The risk of not adding this to the relevant zip in the global pinning is that your previously suggested approach of adding
because then all the keys participating in the zip would need to be adapted to match the length (or we would have to dynamically infill that, which sounds even more fragile). That problem does not disappear with conda-forge/conda-forge-pinning-feedstock#5669, but at least then it'll be a pretty obvious error, rather than a mysterious failure because we're changing zips mid-rerender. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should test this with the new pinnings file in that pr on a live feedstock to ensure it all works. Otherwise LGTM and thank you!
Co-authored-by: Marcel Bargull <[email protected]>
OK, while testing this (together with conda-forge/conda-forge-pinning-feedstock#5672), I ran into two issues that aren't critical but IMO need to be fixed:
|
I did that; the ucx-split feedstock that previously had issues with the pinning works fine, and so does another random one where I experimented setting/not setting
Both these issues are now fixed too; I'm not really sure how to write a test for the second one because it needs two config files at play (the global pinning vs. the local CBC), but I've tested it successfully. |
In the context of conda-forge/conda-forge-pinning-feedstock#5672, I tested local rerenders with the new pinning and a smithy built from this PR, and things work fine. |
According to that pr we're supposed to add an additional zip of the deployment target. |
OK, retesting with that added zip now breaks this PR, for reasons that escape me:
I've tried debugging this locally, and it seems to be going wrong after
In other words, the values for Looking at the function Long story short, we're not robust to (all flavours of) zipping here yet, and I'm not sure exactly what's going wrong. |
How could I reproduce this? |
Download the Then install a local version of smithy (from this PR) into an environment and run the following from the base of your favourite feedstock.
I used abseil-cpp, and updated the CBC in line with the "new way" of doing things:
|
The issue is essentially that you modify the local
I did not look into which of these options makes the most sense; you'll have to check which causes the least (potential) inconsistencies. |
Yeah, I had noted while debugging that Thanks for taking a look! I think the easiest might just be a manual fix-up of |
Likely easiest, yes. Looking at this again with more context than just the code diff here, I'd say, given the function name and that (AFAICT) we don't modify other actual values therein, it is probably not best conceptually or with future maintenance in mind. |
I took an approach that roughly follows this and is (I believe) not a terrible hack. It works now with the abseil example that failed previously 🥳 PTAL! :) |
@h-vetinari is there a feedstock and/or recipe we should test on live before merging? |
I've tested this on ucx-split (had problems with stdlib-zip plus CUDA before), also cupy, abseil (basic C++ case; with various configurations of local CBC) and numpy (python package). Happy to test this elsewhere if someone has a gnarly feedstock in mind, but I think things should be ready to merge now. |
Since Matt is fine with it, I'll take it :). |
Builds on #1888 (draft until that's merged)Closes #1884