From ecf86041d7f106422600c62f5f0c7806341c2375 Mon Sep 17 00:00:00 2001 From: James Lamb Date: Wed, 4 Mar 2026 10:08:05 -0600 Subject: [PATCH 1/4] test wheels with mix of CTK versions --- .github/workflows/build.yaml | 2 +- .github/workflows/pr.yaml | 2 +- ci/test_wheel.sh | 12 +++++++--- dependencies.yaml | 46 ++++++++++++++++++++++++++++++++++++ 4 files changed, 57 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index d4327cb8..47238b24 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -68,7 +68,7 @@ jobs: sha: ${{ inputs.sha }} wheel-build: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@python-3.14 + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@build-wheels-old-ctk with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 9f5d204c..4e2abe19 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -82,7 +82,7 @@ jobs: wheel-build: needs: checks secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@python-3.14 + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@build-wheels-old-ctk with: build_type: pull-request script: "ci/build_wheel.sh" diff --git a/ci/test_wheel.sh b/ci/test_wheel.sh index 4e933b6f..32a6d228 100755 --- a/ci/test_wheel.sh +++ b/ci/test_wheel.sh @@ -12,14 +12,20 @@ export RAPIDS_CUDA_MAJOR DASK_CUDA_WHEELHOUSE=$(rapids-download-from-github "$(rapids-package-name "wheel_python" "dask-cuda" --pure)") # generate constraints (possibly pinning to oldest supported versions of dependencies) -rapids-generate-pip-constraints py_test ./constraints.txt +rapids-generate-pip-constraints py_test "${PIP_CONSTRAINT}" rapids-logger "Installing test dependencies" -# echo to expand wildcard + +# notes: +# +# * echo to expand wildcard before adding `[test]` requires for pip +# * just providing --constraint="${PIP_CONSTRAINT}" to be explicit, and because +# that environment variable is ignored if any other --constraint are passed via the CLI +# rapids-pip-retry install \ -v \ --prefer-binary \ - --constraint ./constraints.txt \ + --constraint "${PIP_CONSTRAINT}" \ "$(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"} diff --git a/dependencies.yaml b/dependencies.yaml index 17af437e..04cb9d14 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -112,6 +112,8 @@ dependencies: packages: - rapids-build-backend>=0.4.0,<0.5.0 - setuptools>=77.0.0 + # 'cuda_version' intentionally does not contain fallback entries... we want + # a loud error if an unsupported 'cuda' value is passed cuda_version: specific: - output_types: conda @@ -144,6 +146,50 @@ dependencies: cuda: "13.1" packages: - cuda-version=13.1 + - output_types: requirements + matrices: + # if use_cuda_wheels=false is provided, do not add dependencies on any CUDA wheels + # (e.g. for DLFW and pip devcontainers) + - matrix: + use_cuda_wheels: "false" + packages: + - matrix: + arch: aarch64 + cuda: "12.2" + use_cuda_wheels: "true" + packages: + # nvidia-cublas-cu12 didn't get aarch64 wheels until CTK 12.3 + - cuda-toolkit>=12.2,<12.4 + - matrix: + cuda: "12.2" + use_cuda_wheels: "true" + packages: + - cuda-toolkit==12.2.* + - matrix: + cuda: "12.5" + use_cuda_wheels: "true" + packages: + - cuda-toolkit==12.5.* + - matrix: + cuda: "12.8" + use_cuda_wheels: "true" + packages: + - cuda-toolkit==12.8.* + - matrix: + cuda: "12.9" + use_cuda_wheels: "true" + packages: + - cuda-toolkit==12.9.* + - matrix: + cuda: "13.0" + use_cuda_wheels: "true" + packages: + - cuda-toolkit==13.0.* + - matrix: + cuda: "13.1" + use_cuda_wheels: "true" + packages: + - cuda-toolkit==13.1.* cuda: common: - output_types: conda From 4af0762ef7afb2dfdcecb7adea6744f7aded6d7b Mon Sep 17 00:00:00 2001 From: James Lamb Date: Wed, 4 Mar 2026 15:07:24 -0600 Subject: [PATCH 2/4] test with gha-tools fork --- ci/test_wheel.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ci/test_wheel.sh b/ci/test_wheel.sh index 32a6d228..56609d13 100755 --- a/ci/test_wheel.sh +++ b/ci/test_wheel.sh @@ -4,6 +4,13 @@ set -eou pipefail +# TODO(jameslamb): revert before merging +git clone --branch generate-pip-constraints \ + https://github.com/rapidsai/gha-tools.git \ + /tmp/gha-tools + +export PATH="/tmp/gha-tools/tools:${PATH}" + source rapids-init-pip RAPIDS_CUDA_MAJOR="${RAPIDS_CUDA_VERSION%%.*}" From 5d3c623d924081607752ad736029a715575b9d3d Mon Sep 17 00:00:00 2001 From: James Lamb Date: Thu, 12 Mar 2026 09:38:06 -0500 Subject: [PATCH 3/4] updates --- ci/test_wheel.sh | 7 ------- dependencies.yaml | 3 ++- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/ci/test_wheel.sh b/ci/test_wheel.sh index 56609d13..32a6d228 100755 --- a/ci/test_wheel.sh +++ b/ci/test_wheel.sh @@ -4,13 +4,6 @@ set -eou pipefail -# TODO(jameslamb): revert before merging -git clone --branch generate-pip-constraints \ - https://github.com/rapidsai/gha-tools.git \ - /tmp/gha-tools - -export PATH="/tmp/gha-tools/tools:${PATH}" - source rapids-init-pip RAPIDS_CUDA_MAJOR="${RAPIDS_CUDA_VERSION%%.*}" diff --git a/dependencies.yaml b/dependencies.yaml index 04cb9d14..55640464 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -158,7 +158,8 @@ dependencies: cuda: "12.2" use_cuda_wheels: "true" packages: - # nvidia-cublas-cu12 didn't get aarch64 wheels until CTK 12.3 + # some components (like nvidia-cublas-cu12 and nvidia-cuda-nvcc-cu12) didn't have + # aarch64 wheels until CTK 12.3, so allow a slightly looser bound here - cuda-toolkit>=12.2,<12.4 - matrix: cuda: "12.2" From 12ef9edb9ec7abd55610ca14f61508df09409cba Mon Sep 17 00:00:00 2001 From: James Lamb Date: Thu, 12 Mar 2026 09:38:34 -0500 Subject: [PATCH 4/4] revert more debugging stuff --- .github/workflows/build.yaml | 2 +- .github/workflows/pr.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 47238b24..d4327cb8 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -68,7 +68,7 @@ jobs: sha: ${{ inputs.sha }} wheel-build: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@build-wheels-old-ctk + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@python-3.14 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 4e2abe19..9f5d204c 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -82,7 +82,7 @@ jobs: wheel-build: needs: checks secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@build-wheels-old-ctk + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@python-3.14 with: build_type: pull-request script: "ci/build_wheel.sh"