diff --git a/ci/test_wheel_nx-cugraph.sh b/ci/test_wheel_nx-cugraph.sh index 1b573c58c..8163c425e 100755 --- a/ci/test_wheel_nx-cugraph.sh +++ b/ci/test_wheel_nx-cugraph.sh @@ -12,11 +12,20 @@ python_package_name=${package_name//-/_} # nx-cugraph is a pure wheel, which is part of generating the download path NX_CUGRAPH_WHEELHOUSE=$(rapids-download-from-github "$(rapids-package-name "wheel_python" "$package_name" --pure --cuda "$RAPIDS_CUDA_VERSION")") -# echo to expand wildcard before adding `[extra]` requires for pip +# generate constraints (possibly pinning to oldest supported versions of dependencies) +rapids-generate-pip-constraints test_python "${PIP_CONSTRAINT}" + +# 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 +# * '--extra-index-url pypi.nvidia.com' can be removed when 'pylibcugraph' and +# its dependencies are available from pypi.org # -# '--extra-index-url pypi.nvidia.com' can be removed when 'pylibcugraph' and -# its dependencies are available from pypi.org rapids-pip-retry install \ + --prefer-binary \ + --constraint "${PIP_CONSTRAINT}" \ --extra-index-url https://pypi.nvidia.com \ "$(echo "${NX_CUGRAPH_WHEELHOUSE}"/"${python_package_name}"*.whl)[test]" diff --git a/dependencies.yaml b/dependencies.yaml index 4595313dd..b21f4c7d1 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -76,6 +76,8 @@ dependencies: - output_types: [conda, requirements] packages: - pre-commit + # '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 @@ -104,6 +106,51 @@ 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: + # 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" + 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.* depends_on_nx_cugraph: common: - output_types: conda