-
-
Notifications
You must be signed in to change notification settings - Fork 496
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
Add azure-* CPP packages to global pinning #6003
Comments
Very open to this. Our plan was always to add global pins for these once they started being more widely used. Adding them to a key feedstock like arrow-cpp-feedstock is definitely sufficient motivation.
I have to admit that I don't understand the problem with the minimum bounds. I know we discussed this in the original staged-recipes PR (conda-forge/staged-recipes#23297), but it still isn't clear to me. The global pins are controlled in the Ah, maybe the reason just dawned on me as I wrote the above. It depends on how the global pins in |
That's exactly the issue, or rather, conda-smithy will not even populate values for the respective libraries in the variant configs under It's still possible to have bounds if absolutely necessary, e.g. requirements:
build:
- ...
host:
# one line that stays unpinned for the bot to populate the variant configs
- libfoo
# and one to set additional bounds
- libfoo >=1.2.3 but that's kind of pointless as soon as the global pinning has surpassed 1.2.3, because we never1 downgrade, so then the lower bound is "encoded" in the global pinning itself. Footnotes
|
@h-vetinari I have draft PRs open to add the global pins (#6048) as well as to remove the lower bounds from each of the recipes. Could you please 1) review the PRs, and 2) advise on the order in which we should merge them? |
Thank you! The cleanest would probably be to add these keys only in a migrator first. Then manually apply that migrator to the respective feedstocks (at the same time as removing the lower bounds) and rerender. The reasons why I suggest the migrator is because it avoids the risk that the current set of azure-* packages is actually not co-installable together (for whatever left-over constraints in the metadata). To avoid having to deal with LTS branches, the migrator should also use the latest version that currently exists for each of the feedstocks (unless there's strong reasons against that, then we can discuss that). |
@h-vetinari This is new for me. Istarted by creating a migrator for azure-core-cpp 1.12.0 (the current version) in #6056 Is this what you envisioned? I am unsure about your use of "manually". Did you want me to manually apply this migrator to the various azure-sdk-for-cpp feedstocks instead of letting the bot do it? |
I left a review there
As long as the PRs with the lower bounds aren't merged, the migrator created by #6056 will not actually pick up those feedstocks as needing migration. That's why it would then be necessary to copy the migrator file (from #6056) into |
Ok, that makes sense. Thanks for the clarification. And I assume the migrator PR has to be merged first. I tried manually adding it now, and conda-smithy simply deletes it instead of adding the pins. |
Exactly, unless you set |
The migrator is merged; I tried it in conda-forge/arrow-cpp-feedstock#1431, and it illustrates what I meant above - the various feedstocks haven't been (re)built yet so that there's a consistent set that can be installed:
Once the other feedstocks are rebuilt for |
Some packages want to make use of these, e.g. conda-forge/arrow-cpp-feedstock#1431.
However, while the packages in question have run-exports (thankfully), there's nothing yet in terms of a global pinning. This will lead to incompatible builds very quickly unless we let the migrator take care of things. Also, a bunch of the azure-* recipes set lower bounds on other azure-components as a host-dep. This again will lead to a zoo of incompatible builds, so these lower bounds need to be removed such that the bot can populate the pins correctly.
CC @conda-forge/azure-core-cpp @conda-forge/azure-identity-cpp @conda-forge/azure-storage-files-datalake-cpp @conda-forge/azure-storage-blobs-cpp @conda-forge/azure-storage-common-cpp
The text was updated successfully, but these errors were encountered: