introduce rapids-init-pip - #180
Merged
Merged
Conversation
2 tasks
21 tasks
Member
Author
|
Alright thanks! I'm gonna merge this, we can pick up other design work and deployment over in this tracking issue: rapidsai/build-planning#179 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Splitting this off from #173
I've been working on updating the documentation for how to accomplish something like "use packages from a
cuvsPR in the CI on acumlPR" (rapidsai/docs#601).Downloading the wheel artifacts from one PR in another PR's CI is pretty much the same as it was before with
downloads.rapids.ai, thanks to @VenkateshJaya 's work onrapids-get-pr-artifact-github.But once you have those downloaded wheels, it can be challenging to get all of the wheel-related things to use them. We have, across RAPIDS CI:
pip wheelbuilds with build isolationpip wheelbuilds WITHOUT build isolationpip installcalls with--constraint, pointing to custom constraints files (e.g. those created withrapids-generate-pip-constraints)PIP_CONSTRAINTenvironment variableThis PR proposes introducing a small new tool called
rapids-pip-init, which does the following:PIP_CONSTRAINTis setPIP_CONSTRAINTif it is already setProposing that in every CI script that installs wheels (like
ci/build_*_wheel.shandci/test_wheel_*.sh)sourcethis near the top:source rapids-pip-initAnd that every CI script passing
--constrainttopipexplicitly add--constraint "${PIP_CONSTRAINT}"(even if during normal operation, the filePIP_CONSTRAINTpoints to is empty).With that in place, it'd then be possible to reliably constrain all
pipinvocations to use a certain set of wheels (e.g. those from upstream projects' CI) via something like the following:Notes for Reviewers
Why call this
rapids-init-pip?I went with a generic-ish name instead of something like
rapids-init-pip-constraint-configso that it's extensible in the future to other initialization we might want to do in wheel jobs.How I tested this
On a
cudfPR: NVIDIA/cudf#18747 (comment)Next steps
If folks agree with doing this, I'll put up an issue in https://github.com/rapidsai/build-planning about adding calls like this across RAPIDS wheel CI scripts.