From 18d41b0fa285ae39950e5ed012e57b90ee1d16f6 Mon Sep 17 00:00:00 2001 From: Kyle Edwards Date: Wed, 19 Nov 2025 11:56:40 -0500 Subject: [PATCH 1/2] Give Python wheel its own test-cu* dependencies Follow-up to https://github.com/rapidsai/dask-cuda/pull/1588#discussion_r2542444022 --- ci/test_wheel.sh | 10 +--------- dependencies.yaml | 38 ++++++++++++++++++++++++++++++++++++-- pyproject.toml | 17 +++++++++++++++++ 3 files changed, 54 insertions(+), 11 deletions(-) diff --git a/ci/test_wheel.sh b/ci/test_wheel.sh index e20e3141..d35e8e8c 100755 --- a/ci/test_wheel.sh +++ b/ci/test_wheel.sh @@ -11,20 +11,12 @@ export RAPIDS_CUDA_MAJOR DASK_CUDA_WHEELHOUSE=$(rapids-download-from-github "$(rapids-package-name "wheel_python" "dask-cuda" --pure)") -# Install cuda-suffixed dependencies b/c while `dask-cuda` has no cuda suffix, the test dependencies do -rapids-dependency-file-generator \ - --output requirements \ - --file-key "test_python" \ - --matrix "cuda=${RAPIDS_CUDA_VERSION%.*};arch=$(arch);py=${RAPIDS_PY_VERSION};cuda_suffixed=true" \ -| tee /tmp/requirements-test.txt - rapids-logger "Installing test dependencies" # echo to expand wildcard rapids-pip-retry install \ -v \ --prefer-binary \ - -r /tmp/requirements-test.txt \ - "$(echo "${DASK_CUDA_WHEELHOUSE}"/dask_cuda*.whl)[cu${RAPIDS_CUDA_MAJOR}]" + "$(echo "${DASK_CUDA_WHEELHOUSE}"/dask_cuda*.whl)[cu${RAPIDS_CUDA_MAJOR},test,test-cu${RAPIDS_CUDA_MAJOR}]" RAPIDS_TESTS_DIR=${RAPIDS_TESTS_DIR:-"${PWD}/test-results"} mkdir -p "${RAPIDS_TESTS_DIR}" diff --git a/dependencies.yaml b/dependencies.yaml index 4463d3e0..4f6ac981 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -24,6 +24,7 @@ files: - cuda_version - py_version - test_python + - test_python_cuda - depends_on_dask_cuda checks: output: none @@ -61,6 +62,30 @@ files: key: cu13 includes: - extra_cu13 + py_test: + output: pyproject + pyproject_dir: . + extras: + table: project.optional-dependencies + key: test + includes: + - test_python + py_test_cu12: + output: pyproject + pyproject_dir: . + extras: + table: project.optional-dependencies + key: test-cu12 + includes: + - test_python_cu12 + py_test_cu13: + output: pyproject + pyproject_dir: . + extras: + table: project.optional-dependencies + key: test-cu13 + includes: + - test_python_cu13 py_run: output: pyproject pyproject_dir: . @@ -195,13 +220,14 @@ dependencies: - &dask_cudf_unsuffixed dask-cudf==26.2.*,>=0.0.0a0 - &distributed_ucxx_unsuffixed distributed-ucxx==0.48.*,>=0.0.0a0 - &kvikio_unsuffixed kvikio==26.2.*,>=0.0.0a0 + test_python_cuda: specific: - output_types: [requirements, pyproject] matrices: - matrix: cuda: "12.*" cuda_suffixed: "true" - packages: + packages: &test_python_cu12 - cudf-cu12==26.2.*,>=0.0.0a0 - dask-cudf-cu12==26.2.*,>=0.0.0a0 - distributed-ucxx-cu12==0.48.*,>=0.0.0a0 @@ -209,7 +235,7 @@ dependencies: - matrix: cuda: "13.*" cuda_suffixed: "true" - packages: + packages: &test_python_cu13 - cudf-cu13==26.2.*,>=0.0.0a0 - dask-cudf-cu13==26.2.*,>=0.0.0a0 - distributed-ucxx-cu13==0.48.*,>=0.0.0a0 @@ -220,6 +246,14 @@ dependencies: - *dask_cudf_unsuffixed - *distributed_ucxx_unsuffixed - *kvikio_unsuffixed + test_python_cu12: + common: + - output_types: [requirements, pyproject] + packages: *test_python_cu12 + test_python_cu13: + common: + - output_types: [requirements, pyproject] + packages: *test_python_cu13 depends_on_dask_cuda: common: - output_types: conda diff --git a/pyproject.toml b/pyproject.toml index bc231fd8..814956ef 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -61,6 +61,23 @@ cu13 = [ "cuda-core[cu13]==0.3.*", "numba-cuda[cu13]>=0.19.1,<0.20.0a0", ] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit dependencies.yaml and run `rapids-dependency-file-generator`. +test = [ + "pytest", + "pytest-cov", + "pytest-timeout", +] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit dependencies.yaml and run `rapids-dependency-file-generator`. +test-cu12 = [ + "cudf-cu12==26.2.*,>=0.0.0a0", + "dask-cudf-cu12==26.2.*,>=0.0.0a0", + "distributed-ucxx-cu12==0.48.*,>=0.0.0a0", + "kvikio-cu12==26.2.*,>=0.0.0a0", +] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit dependencies.yaml and run `rapids-dependency-file-generator`. +test-cu13 = [ + "cudf-cu13==26.2.*,>=0.0.0a0", + "dask-cudf-cu13==26.2.*,>=0.0.0a0", + "distributed-ucxx-cu13==0.48.*,>=0.0.0a0", + "kvikio-cu13==26.2.*,>=0.0.0a0", +] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit dependencies.yaml and run `rapids-dependency-file-generator`. [project.urls] Homepage = "https://github.com/rapidsai/dask-cuda" From ac5fbd0753162e25db3014d96a00e937bd78d293 Mon Sep 17 00:00:00 2001 From: Kyle Edwards Date: Wed, 19 Nov 2025 12:08:54 -0500 Subject: [PATCH 2/2] DFG --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index 814956ef..fb84c5a7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -64,6 +64,7 @@ cu13 = [ test = [ "pytest", "pytest-cov", + "pytest-rerunfailures!=16.0.0", "pytest-timeout", ] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit dependencies.yaml and run `rapids-dependency-file-generator`. test-cu12 = [