-
Notifications
You must be signed in to change notification settings - Fork 58
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
Avoid --find-links in wheel jobs #397
Conversation
# ensure 'kvikio' wheel builds always use the 'libkvikio' just built in the same CI run | ||
# | ||
# using env variable PIP_CONSTRAINT is necessary to ensure the constraints | ||
# are used when creating the isolated build environment | ||
echo "libkvikio-${RAPIDS_PY_CUDA_SUFFIX} @ file://$(echo ${CPP_WHEELHOUSE}/libkvikio_*.whl)" > ./constraints.txt | ||
|
||
PIP_CONSTRAINT="${PWD}/constraints.txt" \ | ||
python -m pip wheel . -w dist -vvv --no-deps --disable-pip-version-check |
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.
Am curious whether just adding --no-index
would be sufficient for us
# ensure 'kvikio' wheel builds always use the 'libkvikio' just built in the same CI run | |
# | |
# using env variable PIP_CONSTRAINT is necessary to ensure the constraints | |
# are used when creating the isolated build environment | |
echo "libkvikio-${RAPIDS_PY_CUDA_SUFFIX} @ file://$(echo ${CPP_WHEELHOUSE}/libkvikio_*.whl)" > ./constraints.txt | |
PIP_CONSTRAINT="${PWD}/constraints.txt" \ | |
python -m pip wheel . -w dist -vvv --no-deps --disable-pip-version-check | |
python -m pip wheel . -w dist -vvv --no-deps --disable-pip-version-check --no-index --find-links ${CPP_WHEELHOUSE} |
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 for the suggestion! I hadn't considered this.
But I wouldn't expect that to be sufficient here. We're building with build isolation, and this ${CPP_WHEELHOUSE}
directory doesn't contain wheels for other build dependencies like scikit-build-core
and rapids-build-backend
.
So to use --no-index --find-links ${CPP_WHEELHOUSE}
we'd have to also do something like pip download
the other build dependencies into that local directory. I think the approach with constraints is simpler for as long as we want to use build isolation (which, per rapidsai/build-planning#69 (comment), might not be for long).
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.
Discussed offline with James. We decided James will write up an issue for follow up and we will skip this suggestion in this PR
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 for talking through it with me. Here's the issue: rapidsai/build-planning#79
/merge |
Description
Contributes to rapidsai/build-planning#69.
Proposes a stricter pattern for passing a
libkvikio
wheel from thewheel-build-cpp
job that produced it into thewheel-build-python
job wanting to use it (as a build dependency ofkvikio
). This change improves the likelihood that issues with thelibkivkio
wheels will be caught in CI.Notes for Reviewers
See rapidsai/rmm#1586 and rapidsai/build-planning#69 (comment) for details on how I tested this approach.
I didn't propose this on #369 because I hadn't quite finished testing the approach yet. But I do think we should do this for all of the C++ wheels (rapidsai/build-planning#33).