From ea368616c32739fa22c80339d662250b8708e6ca Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Thu, 11 Jul 2024 11:57:11 -0500 Subject: [PATCH 1/4] Use earliest dependencies in conda tests. --- ci/test_python.sh | 2 +- dependencies.yaml | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/ci/test_python.sh b/ci/test_python.sh index 3239beaf1..386d0b063 100755 --- a/ci/test_python.sh +++ b/ci/test_python.sh @@ -12,7 +12,7 @@ rapids-logger "Create test conda environment" rapids-dependency-file-generator \ --output conda \ --file-key test_python \ - --matrix "cuda=${RAPIDS_CUDA_VERSION%.*};arch=$(arch);py=${RAPIDS_PY_VERSION}" | tee env.yaml + --matrix "cuda=${RAPIDS_CUDA_VERSION%.*};arch=$(arch);py=${RAPIDS_PY_VERSION};dependencies=${RAPIDS_DEPENDENCIES}" | tee env.yaml rapids-mamba-retry env create --yes -f env.yaml -n test set +u diff --git a/dependencies.yaml b/dependencies.yaml index 3bc8214dc..77539859a 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -312,3 +312,14 @@ dependencies: - cuda-nvcc - matrix: packages: + specific: + - output_types: [conda, requirements, pyproject] + matrices: + - matrix: + dependencies: "earliest" + packages: + - numba==0.57.* + - numpy==1.23.* + # No pinnings except for earliest dependencies + - matrix: + packages: From 0b11b2e4976b256d40e7fe1149642276aa3406ba Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Tue, 16 Jul 2024 10:35:05 +0200 Subject: [PATCH 2/4] Rename earliest to oldest --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index 77539859a..fad92a1a4 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -316,10 +316,10 @@ dependencies: - output_types: [conda, requirements, pyproject] matrices: - matrix: - dependencies: "earliest" + dependencies: "oldest" packages: - numba==0.57.* - numpy==1.23.* - # No pinnings except for earliest dependencies + # No pinnings except for oldest dependencies - matrix: packages: From 9abbe267e4b507b0d165b57a47664ab444f0d7c0 Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Mon, 15 Jul 2024 13:55:59 +0200 Subject: [PATCH 3/4] Use oldest test dependencies from dependencies.yaml in wheel tests --- ci/test_wheel.sh | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/ci/test_wheel.sh b/ci/test_wheel.sh index 8ba03f3a2..ab2b6566f 100755 --- a/ci/test_wheel.sh +++ b/ci/test_wheel.sh @@ -6,8 +6,19 @@ set -eou pipefail RAPIDS_PY_CUDA_SUFFIX="$(rapids-wheel-ctk-name-gen ${RAPIDS_CUDA_VERSION})" WHEELHOUSE="${PWD}/dist/" RAPIDS_PY_WHEEL_NAME="rmm_${RAPIDS_PY_CUDA_SUFFIX}" rapids-download-wheels-from-s3 python "${WHEELHOUSE}" +PIP_PACKAGE=$(echo "${WHEELHOUSE}"/rmm_"${RAPIDS_PY_CUDA_SUFFIX}"*.whl | head -n1) -# echo to expand wildcard before adding '[extra]' requires for pip -python -m pip install -v "$(echo "${WHEELHOUSE}"/rmm_${RAPIDS_PY_CUDA_SUFFIX}*.whl)[test]" +# Use `package[test]` to install latest test dependencies or explicitly install oldest. +if [[ $RAPIDS_DEPENDENCIES != "oldest" ]]; then + python -m pip install -v "${PIP_PACKAGE}[test]" +else + rapids-dependency-file-generator \ + --output requirements \ + --file-key test_python \ + --matrix "cuda=${RAPIDS_CUDA_VERSION%.*};arch=$(arch);py=${RAPIDS_PY_VERSION};dependencies=${RAPIDS_DEPENDENCIES}" \ + | tee oldest-dependencies.txt + + python -m pip install -v "$PIP_PACKAGE" -r oldest-dependencies.txt +fi python -m pytest ./python/rmm/rmm/tests From 4a93f1c7ff4f9d0e9ff06ed379d7ffa1ef386e61 Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Fri, 16 Aug 2024 12:43:03 +0200 Subject: [PATCH 4/4] Address James review comments --- ci/test_wheel.sh | 24 +++++++++++++----------- dependencies.yaml | 5 ++--- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/ci/test_wheel.sh b/ci/test_wheel.sh index ab2b6566f..d06c4eed0 100755 --- a/ci/test_wheel.sh +++ b/ci/test_wheel.sh @@ -6,19 +6,21 @@ set -eou pipefail RAPIDS_PY_CUDA_SUFFIX="$(rapids-wheel-ctk-name-gen ${RAPIDS_CUDA_VERSION})" WHEELHOUSE="${PWD}/dist/" RAPIDS_PY_WHEEL_NAME="rmm_${RAPIDS_PY_CUDA_SUFFIX}" rapids-download-wheels-from-s3 python "${WHEELHOUSE}" -PIP_PACKAGE=$(echo "${WHEELHOUSE}"/rmm_"${RAPIDS_PY_CUDA_SUFFIX}"*.whl | head -n1) -# Use `package[test]` to install latest test dependencies or explicitly install oldest. -if [[ $RAPIDS_DEPENDENCIES != "oldest" ]]; then - python -m pip install -v "${PIP_PACKAGE}[test]" -else +# Constraint to minimum dependency versions if job is set up as "oldest" +echo "" > ./constraints.txt +if [[ $RAPIDS_DEPENDENCIES == "oldest" ]]; then rapids-dependency-file-generator \ - --output requirements \ - --file-key test_python \ - --matrix "cuda=${RAPIDS_CUDA_VERSION%.*};arch=$(arch);py=${RAPIDS_PY_VERSION};dependencies=${RAPIDS_DEPENDENCIES}" \ - | tee oldest-dependencies.txt - - python -m pip install -v "$PIP_PACKAGE" -r oldest-dependencies.txt + --output requirements \ + --file-key test_python \ + --matrix "cuda=${RAPIDS_CUDA_VERSION%.*};arch=$(arch);py=${RAPIDS_PY_VERSION};dependencies=${RAPIDS_DEPENDENCIES}" \ + | tee ./constraints.txt fi +# echo to expand wildcard before adding '[extra]' requires for pip +python -m pip install \ + -v \ + --constraint ./constraints.txt \ + "$(echo "${WHEELHOUSE}"/rmm_${RAPIDS_PY_CUDA_SUFFIX}*.whl)[test]" + python -m pytest ./python/rmm/rmm/tests diff --git a/dependencies.yaml b/dependencies.yaml index fad92a1a4..d89894c63 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -312,14 +312,13 @@ dependencies: - cuda-nvcc - matrix: packages: - specific: - - output_types: [conda, requirements, pyproject] + - output_types: [conda, requirements] + # Define additional constraints for testing with oldest dependencies. matrices: - matrix: dependencies: "oldest" packages: - numba==0.57.* - numpy==1.23.* - # No pinnings except for oldest dependencies - matrix: packages: