Skip to content
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

RSN for conda package legacy labelling #570

Open
wants to merge 9 commits into
base: main
Choose a base branch
from

Conversation

gforsyth
Copy link

@gforsyth gforsyth commented Jan 27, 2025

RSN for moving select conda packages behind a new legacy label concurrent with the v25.04 release.

I wasn't sure whether to note the notice_rapids_version as the version where
this change takes place (25.04) or the versions impacted by the change
(<=23.02). I think <=23.02 makes more sense and I've written it as such, but
happy to change things around.

xref rapidsai/build-planning#84

@gforsyth gforsyth requested a review from a team as a code owner January 27, 2025 16:48
Copy link

vercel bot commented Jan 27, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Updated (UTC)
docs ✅ Ready (Inspect) Visit Preview Mar 4, 2025 5:45pm

Copy link

netlify bot commented Jan 27, 2025

Deploy Preview for docs-rapids-ai ready!

Built without sensitive environment variables

Name Link
🔨 Latest commit acb3ac1
🔍 Latest deploy log https://app.netlify.com/sites/docs-rapids-ai/deploys/67c73c0b6364010008979f88
😎 Deploy Preview https://deploy-preview-570--docs-rapids-ai.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.


RAPIDS will move certain older conda packages in the `rapidsai` conda channel
under a new label: `legacy`. These packages will still be available by appending
`--label legacy` to installation and search commands.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm a little unclear on this. It looks like --label is used when uploading, but for users to install, they need something like --channel rapidsai --channel rapidsai/label/legacy. Does that sound correct?

See https://docs.anaconda.com/anacondaorg/user-guide/work-with-labels/#testing-the-discoverability-of-the-package

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yup, thanks for catching that @bdice !

Co-authored-by: Bradley Dice <[email protected]>
Copy link
Contributor

@bdice bdice left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! One small suggestion and one question.

All RAPIDS conda install commands for RAPIDS versions `v23.04+` will continue to
work without any user intervention.

This change will occur concurrently with the release of RAPIDS `v25.04`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just checking: We will be able to test strict channel priority in our CI before the 25.04 release, right? I want to be sure we minimize the risk of breaking recent releases (25.02 / 25.04) during this change.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We'll be able to test 25.02 once all of those packages are released using the same method I tested the previous releases with. Regarding 25.04, we can also release all of those packages, test, then move the selected older packages under the legacy label, or we can move them under the label, see if it works, and then undo the labeling if it breaks.

If 25.02 works, I'd feel confident moving the packages straight to the label for 25.04, and that would let us accurately advertise strict channel priority for the new install instructions.

Copy link
Contributor

@bdice bdice Jan 28, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's helpful. What about enabling strict priority in our CI for PR & nightly builds/tests, though? It sounds like you're discussing the user experience that we expect after the release is complete.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can't really enable them for CI until we move the older packages under legacy. The conda-metachannel package is quite brittle at this point and I don't think we want that spun up as part of our CI

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does that mean we will make the legacy label along with the 25.04 release, and then enable strict priority in our CI during development for 25.06?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can't really enable them for CI until we move the older packages under legacy

Why is this? I'd think that in RAPIDS CI for 25.04, the pins like ==25.4.* we have for all RAPIDS packages would be sufficient to allow this.

Or said another way... if we're saying this -c rapidsai/label/legacy is only necessary for releases before RAPIDS v23.04, then I'd expect to be able to use strict channel priority with RAPIDS 25.04 today.

(sorry if I'm re-litigating things that have already been discussed, feel free to just respond with links to things I should go read)

Copy link
Contributor

@bdice bdice Mar 4, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're asking a good question. I think the only confusing part here is timing.

We can't enable strict channel priority until we move "legacy" packages (needed for releases prior to 23.04) to the legacy label. There are packages like datashader that are implicated here.

We plan to move things to the legacy label when 25.04 is released. Then we can enable strict priority in 25.06.

However, there is a path where we enable strict priority gradually in each repo's CI, which I think we could start in 25.04. It just won't work for every repo until after the "legacy" move occurs with the 25.04 release.

Copy link
Author

@gforsyth gforsyth Mar 4, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this? I'd think that in RAPIDS CI for 25.04, the pins like ==25.4.* we have for all RAPIDS packages would be sufficient to allow this.

channel priority doesn't consider versions -- if there is ANY version of a package in a higher priority channel, that is the only channel that gets considered for that package. because we have (especially) a patched version of datashader (although there are other problem packages) in rapidsai, most of our solves won't work because it'll see datashader in rapidsai but the single version in rapidsai won't satisfy the current dependency requirements and the solve will fail.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ahhhhhhh ok, thank you both for explaining. Ok then this makes sense to me as-is.

Agree with @bdice that it'd be really helpful to try to enable this repo-by-repo within the 25.04 cycle, to hopefully prevent accidental introduction of even more things that complicate the move to strict channel priority. And because it's a solution to the "did not install the package built in CI" problem: rapidsai/build-planning#14 (comment)

Co-authored-by: Bradley Dice <[email protected]>
Copy link
Member

@jameslamb jameslamb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Coming here to review based on @jakirkham 's suggestion in rapidsai/build-planning#14 (comment)

I'm leaving a blocking review because a couple of these have to be fixed (like the RSN number).

Can you also please update this to latest main? There are some new commits there since the last time this was modified.

All RAPIDS conda install commands for RAPIDS versions `v23.04+` will continue to
work without any user intervention.

This change will occur concurrently with the release of RAPIDS `v25.04`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can't really enable them for CI until we move the older packages under legacy

Why is this? I'd think that in RAPIDS CI for 25.04, the pins like ==25.4.* we have for all RAPIDS packages would be sufficient to allow this.

Or said another way... if we're saying this -c rapidsai/label/legacy is only necessary for releases before RAPIDS v23.04, then I'd expect to be able to use strict channel priority with RAPIDS 25.04 today.

(sorry if I'm re-litigating things that have already been discussed, feel free to just respond with links to things I should go read)

@bdice bdice requested a review from jameslamb March 4, 2025 17:26
@gforsyth
Copy link
Author

gforsyth commented Mar 4, 2025

Thanks for the suggestions and fixes @jameslamb ! Pushed up all of those and merged in main

Copy link
Member

@jameslamb jameslamb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes look good to me and all my concerns have been addressed. Thank you for moving this forward!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants