-
-
Notifications
You must be signed in to change notification settings - Fork 24
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
Tighten dask-core
and distributed
pinnings
#190
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 ( |
@conda-forge-admin, please rerender |
Hi! This is the friendly automated conda-forge-webservice. I tried to rerender for you, but it looks like there was nothing to do. This message was generated by GitHub actions workflow run https://github.com/conda-forge/dask-feedstock/actions/runs/2826861231. |
recipe/meta.yaml
Outdated
- dask-core {{ version }} | ||
- distributed {{ version }} | ||
- dask-core =={{ version }} | ||
- distributed =={{ version }} |
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.
So one downside of this particular pinning is that we are not able to pick up a hot-fix from dask-core
or distributed
(for example 2022.8.1.1
) without a corresponding release.
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.
Yeah I was thinking about this - I wasn't sure how impactful this would be to the release process, considering that in the past, hotfixes have generally been done through a new patch release of all 3 packages. However, this obviously would limit our options moving forward.
Do you know of any way we can achieve the intended solution (excluding pre-alpha packages with the same version prefix) without using as tight of a pinning?
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.
TIL dask-core {{ version }}
and dask-core =={{ version }}
are different -- thanks @charlesbluca!
Re: hot-fixes, I agree with @charlesbluca that I don't think this will be an issue in practice given our current release process. We've already just issued a new release of all three packages which would, I think, work with the existing changes here. The only other thing that comes to mind is security backports (Xref dask/community#244) which we've yet to ever act on. IIUC this could throw a wrench into the current proposal in that community issue, correct?
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.
Toying around with conda install pinnings, it looks like we actually can do excludes by regex without creating a tight pinning; for example, doing something like:
conda install "dask=2022.7.1,!=2022.7.1a.*"
Would end up picking up all 2022.7.1.*
packages excluding those that match 2022.7.1a.*
. I assume that we won't be suffixing packages with a.*
unless they're pre-releases (feel free to point out any cases where we might need this), so happy to try out this option here if it unblocks the security backport proposal 🙂
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 assume that we won't be suffixing packages with a.* unless they're pre-releases
Yeah, that's my understanding too
cc @jrbourbeau (in case you have thoughts here :) |
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.
Generally LGTM. Had one suggestion below. Thanks Charles! 🙏
Co-authored-by: jakirkham <[email protected]>
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.
Thanks Charles! 🙏
@jrbourbeau, could you please take another look? 🙂 |
Planning on merging EOD if no comments |
Thanks @jakirkham for the ping -- I'm currently saturated with a few other things. Will plan to take a look at this in a bit, but also feel free to merge if that doesn't happen |
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.
Thanks @charlesbluca @jakirkham!
Thanks James! 🙏 @charlesbluca, it's worth noting that we will need a repodata hotfix to apply this to older package versions as well |
Might want to hold off on the repodata hotfix - I tried generating
Need to play around with the conda recipe syntax a bit locally, but think we'll want something more like
Not sure if we need to append a EDIT: Once that's done, we'll also want to make sure the repodata patch undoes the tight pinning we've set on these recent builds. |
- dask-core ={{ version }},!={{ version }}a* | ||
- distributed ={{ version }},!={{ version }}a* |
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.
This may need more tinkering, but this is one idea
- dask-core ={{ version }},!={{ version }}a* | |
- distributed ={{ version }},!={{ version }}a* | |
- dask-core =={{ version }}|{{ version }}.*,!={{ version }}a* | |
- distributed =={{ version }}|{{ version }}.*,!={{ version }}a* |
As part of addressing dask/dask#9367, this PR tightens the pinning of the
dask-core
anddistributed
dependencies so that we can only pull in packages with an exact version match, preventing us from erroneously pulling in nightly packages.cc @galipremsagar
Checklist
0
(if the version changed)conda-smithy
(Use the phrase@conda-forge-admin, please rerender
in a comment in this PR for automated rerendering)