-
-
Notifications
You must be signed in to change notification settings - Fork 4
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
Set run_exports max_pin to x.x #11
Conversation
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( |
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.
Thank you, @jdblischak
This LGTM modulo a 🟢 CI.
And thinking longer-term: should we also update the max_pin for the other azure-*-cpp recipes? Or should we wait until they actually break backwards compatibility first? My current vote would be to wait on the other recipes, due to the extra solver constraints and maintenance of downstream recipes if we bump `max_bin="x.x"
I think it would be safer to pin everything to max_pin="x.x"
for safety and consistency.
@Shelnutt2 @teo-tsirpanis Could you please weigh in on the following questions?
The choice is a tradeoff. Using |
I'm of the opinion that the user experience is more important that the development experience. The breakage caused by this azire-core-cpp release was annoying and downstream users didn't initially understand the cause. I think using |
Thanks all for the discussion. Now we're just waiting on conda-forge/conda-forge-repodata-patches-feedstock#639 |
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.
I think I was the one who suggested pinning to x
because that's what the Azure SDK promised. It's sad that 1.11 had a binary breaking change, which I could not identify after a quick look at the diffs between the versions. I'm not against pinning to x.x
if the other maintainers think so. I'm also not against restoring the pin in the future if sufficient assurances are made by the Azure SDK team.
Thank you, @teo-tsirpanis. I guess we miss your approval to merge this PR. Alternatively, I guess you can merge this PR. @jdblischak: can we set this PR as ready for review, or is there something left to be done apart from conda-forge/conda-forge-repodata-patches-feedstock#639? |
@jjerphan that PR is the final step. I don't want this one merged into that one has been. I think we've reached a consensus among the maintainers that this PR will be merged when ready:
After this one is merged, I'll open a PR in a downstream feedstock, and we can continue the discussion there on whether or not to apply |
My repodata patch was merged today, so existing tiledb binaries built against azure-core-cpp 1.10 will now be installed with 1.10 at runtime conda-forge/conda-forge-repodata-patches-feedstock@c7bc734 |
Azure/azure-sdk-for-cpp#5322 (comment) Does this mean we should pin all Azure SDK packages to |
@teo-tsirpanis thanks for opening that detailed Issue upstream
My interpretation is yes. They clearly aren't testing binary compatibility across releases, so I don't think we should assume it I looked at CMake's Any other thoughts? |
Just saw the AWS SDK feedstocks pin all packages (even the C libraries) to |
Finalizing this thread:
|
Thank you for taking care of this, @jdblischak. |
Checklist
conda-smithy
(Use the phrase@conda-forge-admin, please rerender
in a comment in this PR for automated rerendering)When we originally added the Azure SDK for C++ libraries to conda-forge, we decided to set
max_pin="x"
(conda-forge/staged-recipes#23297 (comment)). This was for two primary motivations:However, we recently had our first consequence of this loose pinning. azure-core-cpp 1.11.0 is breaking
tiledb
conda binaries that were built against azure-core-cpp 1.10.3 (conda-forge/tiledb-feedstock#228).This is a draft. Please do not merge. We need time for:
max_pin
more strict also has consequences on recipe maintenance. Recipes that build against azure-core-cpp will have to be rebuilt more regularly if they want to use the latest azure-core-cpp, and if enough recipes start depending on it, we'll need to add it to conda-forge-pinningtiledb
to pinazure-core-cpp <1.11
. If this was merged before this, that would once again breaktiledb
And thinking longer-term: should we also update the
max_pin
for the otherazure-*-cpp
recipes? Or should we wait until they actually break backwards compatibility first? My current vote would be to wait on the other recipes, due to the extra solver constraints and maintenance of downstream recipes if we bump `max_bin="x.x"