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. |
| - dask-core {{ version }} | ||
| - distributed {{ version }} | ||
| - dask-core =={{ version }} | ||
| - distributed =={{ version }} |
There was a problem hiding this comment.
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.
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.
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.
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.
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 :) |
jakirkham
left a comment
There was a problem hiding this comment.
Generally LGTM. Had one suggestion below. Thanks Charles! 🙏
Co-authored-by: jakirkham <jakirkham@gmail.com>
|
@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 |
jrbourbeau
left a comment
There was a problem hiding this comment.
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.
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-coreanddistributeddependencies 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 rerenderin a comment in this PR for automated rerendering)