Closed jameslamb closed 1 month ago
@jameslamb @bdice This PR should unblock CI for downstream repos, and ready to merge, right?
@dantegd @jameslamb Yes, I think so. I’ll go ahead and merge so we can unblock downstream work.
/merge
Yes it should, thanks for merging it @bdice
Thanks everyone! 👍
Description
Fixes #2348
2331 introduced
rapids-build-backend
(https://github.com/rapidsai/rapids-build-backend) as the build backend forpylibraft
,raft-dask
, andraft-ann-bench
.That library handles automatically modifying a wheel's dependencies based on the target CUDA version. Unfortunately, we missed a few cases in #2331, and as a result the last few days of nightly
raft-dask
wheels had the following issues:pylibraft
pylibraft-cu12
)ucx-py==0.39.*
ucx-py-cu12
)distributed-ucxx-cu11==0.39.*
instead ofdistributed-ucxx-cu11==0.39.*,>=0.0.0a0
pip install --pre
is required to install pre-release versions)This wasn't caught in
raft
's CI, but in downstream CI likecuml
andcugraph
, with errors like this:(example cugraph build)
This PR:
raft
's CI so that similar issues would be caught here in the future, before publishing wheelsNotes for Reviewers
What was the root cause of CI missing this, and how does this PR fix it?
The
raft-dask
test CI jobs use this pattern to install theraft-dask
wheel built earlier in the CI pipeline.As described in the
pip
docs (link),--find-links
just adds a directory to the list of other placespip
searches for packages. Because the wheel there had unsatisfiable constraints (e.g.pylibraft==24.8.*
does not exist anywhere),pip install
silently disregarded that locally-downloadedraft_dask
wheel and backtracked (i.e. downloaded older and older wheels from https://pypi.anaconda.org/rapidsai-wheels-nightly/simple/) until it found one that wasn't problematic.This PR ensures that won't happen by telling
pip
to install exactly that locally-downloaded file, like thisIf that file is uninstallable,
pip install
fails and you find out via a CI failure.How I tested this
Initially pushed a commit with just the changes to the test script. Saw the
wheel-tests-raft-dask
CI jobs fail in the expected way, instead of silently falling back to an older wheel and passing 🎉 .(build link)