From 7a3e97ee02e73d526ddc1079cdf74f9c81b23d87 Mon Sep 17 00:00:00 2001 From: Tim Head Date: Tue, 24 Mar 2026 13:28:25 +0100 Subject: [PATCH 01/20] Add third-party testing of cuml This runs a subset of the cuml test suite as part of the PR checks. The goal is to give PR authors a signal as to whether or not they are breaking cuml with their changes. --- .github/workflows/pr.yaml | 15 +++++++++++++++ ci/test_cuml_compat.sh | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 ci/test_cuml_compat.sh diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 4ecf44256b25..890a05cb7505 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -42,6 +42,7 @@ jobs: - narwhals-tests - telemetry-setup - third-party-integration-tests-cudf-pandas + - cuml-compat-tests secrets: inherit uses: rapidsai/shared-workflows/.github/workflows/pr-builder.yaml@main if: always() @@ -566,6 +567,20 @@ jobs: container_image: "rapidsai/ci-conda:26.06-latest" script: | ci/cudf_pandas_scripts/third-party-integration/test.sh python/cudf/cudf_pandas_tests/third_party_integration_tests/dependencies.yaml + cuml-compat-tests: + needs: [conda-python-build, conda-python-build-noarch, changed-files] + secrets: inherit + uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@main + if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python_conda && fromJSON(needs.changed-files.outputs.changed_file_groups).neither_cudf_polars_nor_dask_cudf + with: + build_type: pull-request + branch: ${{ inputs.branch }} + date: ${{ inputs.date }} + sha: ${{ inputs.sha }} + node_type: "gpu-l4-latest-1" + continue-on-error: true + container_image: "rapidsai/ci-conda:26.06-latest" + script: "ci/test_cuml_compat.sh" pandas-tests: # run the Pandas unit tests using PR branch needs: [wheel-build-cudf, changed-files] diff --git a/ci/test_cuml_compat.sh b/ci/test_cuml_compat.sh new file mode 100644 index 000000000000..03a58aa55e86 --- /dev/null +++ b/ci/test_cuml_compat.sh @@ -0,0 +1,32 @@ +#!/bin/bash +set -euo pipefail + +cd "$(dirname "$(realpath "${BASH_SOURCE[0]}")")"/../ +source ./ci/test_python_common.sh test_python_cudf + +# Install cuml nightly (gets cuml + its dependencies from RAPIDS nightly channel) +rapids-mamba-retry install -n test -c rapidsai-nightly cuml + +rapids-logger "pytest cuml cuDF-compat subset" +timeout 10m python -m pytest --pyargs --cache-clear \ + cuml.tests.test_input_utils \ + cuml.tests.test_array \ + cuml.tests.test_reflection \ + cuml.tests.test_validation \ + cuml.tests.test_label_encoder \ + cuml.tests.test_target_encoder \ + cuml.tests.test_one_hot_encoder \ + cuml.tests.test_ordinal_encoder \ + cuml.tests.test_train_test_split \ + cuml.tests.test_split \ + cuml.tests.test_compose \ + cuml.tests.test_text_feature_extraction \ + cuml.tests.test_kneighbors_classifier \ + cuml.tests.test_kneighbors_regressor \ + cuml.tests.test_nearest_neighbors \ + cuml.tests.test_metrics \ + cuml.tests.test_linear_model \ + cuml.tests.test_sgd \ + cuml.tests.test_svm \ + cuml.tests.test_pickle \ + cuml.tests.test_random_forest \ No newline at end of file From d81475a5b832e1f915d4bda03be596b0377a4106 Mon Sep 17 00:00:00 2001 From: Tim Head Date: Tue, 24 Mar 2026 13:32:43 +0100 Subject: [PATCH 02/20] Add newline --- ci/test_cuml_compat.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/test_cuml_compat.sh b/ci/test_cuml_compat.sh index 03a58aa55e86..f2455533acc1 100644 --- a/ci/test_cuml_compat.sh +++ b/ci/test_cuml_compat.sh @@ -29,4 +29,4 @@ timeout 10m python -m pytest --pyargs --cache-clear \ cuml.tests.test_sgd \ cuml.tests.test_svm \ cuml.tests.test_pickle \ - cuml.tests.test_random_forest \ No newline at end of file + cuml.tests.test_random_forest From 2908f636568b5b6de9cd06b671cc9e2b0454414e Mon Sep 17 00:00:00 2001 From: Tim Head Date: Tue, 24 Mar 2026 18:02:08 +0100 Subject: [PATCH 03/20] Run cuml compat tests also in nightlies --- .github/workflows/test.yaml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 95439e65744b..62ee2c433cfa 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -144,6 +144,18 @@ jobs: script: | ci/cudf_pandas_scripts/third-party-integration/test.sh python/cudf/cudf_pandas_tests/third_party_integration_tests/dependencies.yaml continue-on-error: true + cuml-compat-tests: + secrets: inherit + uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@main + with: + build_type: ${{ inputs.build_type }} + branch: ${{ inputs.branch }} + date: ${{ inputs.date }} + sha: ${{ inputs.sha }} + node_type: "gpu-l4-latest-1" + continue-on-error: true + container_image: "rapidsai/ci-conda:26.06-latest" + script: "ci/test_cuml_compat.sh" wheel-tests-cudf-polars: secrets: inherit uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@main From a99742f557190a0d71d95ee59f1e7b7790f3733e Mon Sep 17 00:00:00 2001 From: Tim Head Date: Tue, 24 Mar 2026 18:02:32 +0100 Subject: [PATCH 04/20] Easy as ABC --- ci/test_cuml_compat.sh | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/ci/test_cuml_compat.sh b/ci/test_cuml_compat.sh index f2455533acc1..c717dd03a049 100644 --- a/ci/test_cuml_compat.sh +++ b/ci/test_cuml_compat.sh @@ -9,24 +9,24 @@ rapids-mamba-retry install -n test -c rapidsai-nightly cuml rapids-logger "pytest cuml cuDF-compat subset" timeout 10m python -m pytest --pyargs --cache-clear \ - cuml.tests.test_input_utils \ cuml.tests.test_array \ - cuml.tests.test_reflection \ - cuml.tests.test_validation \ - cuml.tests.test_label_encoder \ - cuml.tests.test_target_encoder \ - cuml.tests.test_one_hot_encoder \ - cuml.tests.test_ordinal_encoder \ - cuml.tests.test_train_test_split \ - cuml.tests.test_split \ cuml.tests.test_compose \ - cuml.tests.test_text_feature_extraction \ + cuml.tests.test_input_utils \ cuml.tests.test_kneighbors_classifier \ cuml.tests.test_kneighbors_regressor \ - cuml.tests.test_nearest_neighbors \ - cuml.tests.test_metrics \ + cuml.tests.test_label_encoder \ cuml.tests.test_linear_model \ + cuml.tests.test_metrics \ + cuml.tests.test_nearest_neighbors \ + cuml.tests.test_one_hot_encoder \ + cuml.tests.test_ordinal_encoder \ + cuml.tests.test_pickle \ + cuml.tests.test_random_forest \ + cuml.tests.test_reflection \ cuml.tests.test_sgd \ + cuml.tests.test_split \ cuml.tests.test_svm \ - cuml.tests.test_pickle \ - cuml.tests.test_random_forest + cuml.tests.test_target_encoder \ + cuml.tests.test_text_feature_extraction \ + cuml.tests.test_train_test_split \ + cuml.tests.test_validation From bfb0401aa3aa85dd90cbcdb947a183e5f1ac2d61 Mon Sep 17 00:00:00 2001 From: Tim Head Date: Tue, 24 Mar 2026 18:04:38 +0100 Subject: [PATCH 05/20] Add copyright --- ci/test_cuml_compat.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ci/test_cuml_compat.sh b/ci/test_cuml_compat.sh index c717dd03a049..1b36d169d80a 100644 --- a/ci/test_cuml_compat.sh +++ b/ci/test_cuml_compat.sh @@ -1,4 +1,7 @@ #!/bin/bash +# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + set -euo pipefail cd "$(dirname "$(realpath "${BASH_SOURCE[0]}")")"/../ From f7b88f212eb1a57672c9ef5c90ae0cc388c3bf03 Mon Sep 17 00:00:00 2001 From: Tim Head Date: Wed, 25 Mar 2026 16:21:36 +0100 Subject: [PATCH 06/20] Fix permissions --- ci/test_cuml_compat.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 ci/test_cuml_compat.sh diff --git a/ci/test_cuml_compat.sh b/ci/test_cuml_compat.sh old mode 100644 new mode 100755 From 4a94ceda3e8fe10449a59dafe5af76e51764d07d Mon Sep 17 00:00:00 2001 From: Tim Head Date: Thu, 2 Apr 2026 09:52:50 +0200 Subject: [PATCH 07/20] Checkout cuml's source directly The conda/wheel packages do not ship the tests, so we need to go to the source. --- ci/test_cuml_compat.sh | 55 +++++++++++++++++++++++++----------------- 1 file changed, 33 insertions(+), 22 deletions(-) diff --git a/ci/test_cuml_compat.sh b/ci/test_cuml_compat.sh index 1b36d169d80a..8dd175637ece 100755 --- a/ci/test_cuml_compat.sh +++ b/ci/test_cuml_compat.sh @@ -10,26 +10,37 @@ source ./ci/test_python_common.sh test_python_cudf # Install cuml nightly (gets cuml + its dependencies from RAPIDS nightly channel) rapids-mamba-retry install -n test -c rapidsai-nightly cuml +# Clone cuml at the matching RAPIDS branch to get test files +# (the conda package doesn't ship cuml/tests/) + +# This makes sure we read RAPIDS_BRANCH from the top level of the repo, no matter +# what the current working directory is. +RAPIDS_BRANCH="$(cat "$(dirname "$(realpath "${BASH_SOURCE[0]}")")"/../RAPIDS_BRANCH)" +rapids-logger "Cloning cuml at branch ${RAPIDS_BRANCH}" +git clone https://github.com/rapidsai/cuml.git --branch "${RAPIDS_BRANCH}" --depth 1 /tmp/cuml + +CUML_TESTS_DIR=/tmp/cuml/python/cuml/cuml/tests + rapids-logger "pytest cuml cuDF-compat subset" -timeout 10m python -m pytest --pyargs --cache-clear \ - cuml.tests.test_array \ - cuml.tests.test_compose \ - cuml.tests.test_input_utils \ - cuml.tests.test_kneighbors_classifier \ - cuml.tests.test_kneighbors_regressor \ - cuml.tests.test_label_encoder \ - cuml.tests.test_linear_model \ - cuml.tests.test_metrics \ - cuml.tests.test_nearest_neighbors \ - cuml.tests.test_one_hot_encoder \ - cuml.tests.test_ordinal_encoder \ - cuml.tests.test_pickle \ - cuml.tests.test_random_forest \ - cuml.tests.test_reflection \ - cuml.tests.test_sgd \ - cuml.tests.test_split \ - cuml.tests.test_svm \ - cuml.tests.test_target_encoder \ - cuml.tests.test_text_feature_extraction \ - cuml.tests.test_train_test_split \ - cuml.tests.test_validation +timeout 10m python -m pytest --cache-clear \ + "${CUML_TESTS_DIR}/test_array.py" \ + "${CUML_TESTS_DIR}/test_compose.py" \ + "${CUML_TESTS_DIR}/test_input_utils.py" \ + "${CUML_TESTS_DIR}/test_kneighbors_classifier.py" \ + "${CUML_TESTS_DIR}/test_kneighbors_regressor.py" \ + "${CUML_TESTS_DIR}/test_label_encoder.py" \ + "${CUML_TESTS_DIR}/test_linear_model.py" \ + "${CUML_TESTS_DIR}/test_metrics.py" \ + "${CUML_TESTS_DIR}/test_nearest_neighbors.py" \ + "${CUML_TESTS_DIR}/test_one_hot_encoder.py" \ + "${CUML_TESTS_DIR}/test_ordinal_encoder.py" \ + "${CUML_TESTS_DIR}/test_pickle.py" \ + "${CUML_TESTS_DIR}/test_random_forest.py" \ + "${CUML_TESTS_DIR}/test_reflection.py" \ + "${CUML_TESTS_DIR}/test_sgd.py" \ + "${CUML_TESTS_DIR}/test_split.py" \ + "${CUML_TESTS_DIR}/test_svm.py" \ + "${CUML_TESTS_DIR}/test_target_encoder.py" \ + "${CUML_TESTS_DIR}/test_text_feature_extraction.py" \ + "${CUML_TESTS_DIR}/test_train_test_split.py" \ + "${CUML_TESTS_DIR}/test_validation.py" From 77bb2241fc811c553624c02e8722cd6648d29717 Mon Sep 17 00:00:00 2001 From: Tim Head Date: Thu, 2 Apr 2026 12:08:48 +0200 Subject: [PATCH 08/20] Just one cuml is enough --- ci/test_cuml_compat.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ci/test_cuml_compat.sh b/ci/test_cuml_compat.sh index 8dd175637ece..b69edb7fd472 100755 --- a/ci/test_cuml_compat.sh +++ b/ci/test_cuml_compat.sh @@ -19,7 +19,8 @@ RAPIDS_BRANCH="$(cat "$(dirname "$(realpath "${BASH_SOURCE[0]}")")"/../RAPIDS_BR rapids-logger "Cloning cuml at branch ${RAPIDS_BRANCH}" git clone https://github.com/rapidsai/cuml.git --branch "${RAPIDS_BRANCH}" --depth 1 /tmp/cuml -CUML_TESTS_DIR=/tmp/cuml/python/cuml/cuml/tests + +CUML_TESTS_DIR=/tmp/cuml/python/cuml/tests rapids-logger "pytest cuml cuDF-compat subset" timeout 10m python -m pytest --cache-clear \ From d7b463d248a598ff14b4e5452afa876544caf42c Mon Sep 17 00:00:00 2001 From: Tim Head Date: Tue, 7 Apr 2026 14:18:40 +0200 Subject: [PATCH 09/20] Remove some tests to fit within the time budget --- ci/test_cuml_compat.sh | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/ci/test_cuml_compat.sh b/ci/test_cuml_compat.sh index b69edb7fd472..3f924aeb758e 100755 --- a/ci/test_cuml_compat.sh +++ b/ci/test_cuml_compat.sh @@ -23,7 +23,7 @@ git clone https://github.com/rapidsai/cuml.git --branch "${RAPIDS_BRANCH}" --dep CUML_TESTS_DIR=/tmp/cuml/python/cuml/tests rapids-logger "pytest cuml cuDF-compat subset" -timeout 10m python -m pytest --cache-clear \ +timeout 15m python -m pytest --cache-clear \ "${CUML_TESTS_DIR}/test_array.py" \ "${CUML_TESTS_DIR}/test_compose.py" \ "${CUML_TESTS_DIR}/test_input_utils.py" \ @@ -32,10 +32,8 @@ timeout 10m python -m pytest --cache-clear \ "${CUML_TESTS_DIR}/test_label_encoder.py" \ "${CUML_TESTS_DIR}/test_linear_model.py" \ "${CUML_TESTS_DIR}/test_metrics.py" \ - "${CUML_TESTS_DIR}/test_nearest_neighbors.py" \ "${CUML_TESTS_DIR}/test_one_hot_encoder.py" \ "${CUML_TESTS_DIR}/test_ordinal_encoder.py" \ - "${CUML_TESTS_DIR}/test_pickle.py" \ "${CUML_TESTS_DIR}/test_random_forest.py" \ "${CUML_TESTS_DIR}/test_reflection.py" \ "${CUML_TESTS_DIR}/test_sgd.py" \ From 0ff65103ffc533c13f5b0080168a2245575ce8de Mon Sep 17 00:00:00 2001 From: Tim Head Date: Wed, 8 Apr 2026 13:46:24 +0200 Subject: [PATCH 10/20] Add cuml as dependency --- ci/test_cuml_compat.sh | 5 +---- dependencies.yaml | 9 +++++++++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/ci/test_cuml_compat.sh b/ci/test_cuml_compat.sh index 3f924aeb758e..f796a2b885e9 100755 --- a/ci/test_cuml_compat.sh +++ b/ci/test_cuml_compat.sh @@ -5,10 +5,7 @@ set -euo pipefail cd "$(dirname "$(realpath "${BASH_SOURCE[0]}")")"/../ -source ./ci/test_python_common.sh test_python_cudf - -# Install cuml nightly (gets cuml + its dependencies from RAPIDS nightly channel) -rapids-mamba-retry install -n test -c rapidsai-nightly cuml +source ./ci/test_python_common.sh test_python_cudf test_cuml # Clone cuml at the matching RAPIDS branch to get test files # (the conda package doesn't ship cuml/tests/) diff --git a/dependencies.yaml b/dependencies.yaml index e76794400f77..8f87ef961146 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -84,6 +84,10 @@ files: - depends_on_pylibcudf - depends_on_libcudf - depends_on_numba_cuda + test_cuml: + output: none + includes: + - depends_on_cuml test_python_pylibcudf: output: none includes: @@ -1316,6 +1320,11 @@ dependencies: - output_types: conda packages: - dask-cudf==26.6.*,>=0.0.0a0 + depends_on_cuml: + common: + - output_types: conda + packages: + - cuml==26.6.*,>=0.0.0a0 depends_on_custreamz: common: - output_types: conda From 5b55319de5ff829c8037d139441f6a9f3a26e5c4 Mon Sep 17 00:00:00 2001 From: Tim Head Date: Wed, 8 Apr 2026 16:00:02 +0200 Subject: [PATCH 11/20] Workaround cryptography weirdness --- ci/test_cuml_compat.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ci/test_cuml_compat.sh b/ci/test_cuml_compat.sh index f796a2b885e9..32248ab8e62c 100755 --- a/ci/test_cuml_compat.sh +++ b/ci/test_cuml_compat.sh @@ -20,7 +20,11 @@ git clone https://github.com/rapidsai/cuml.git --branch "${RAPIDS_BRANCH}" --dep CUML_TESTS_DIR=/tmp/cuml/python/cuml/tests rapids-logger "pytest cuml cuDF-compat subset" -timeout 15m python -m pytest --cache-clear \ +timeout 15m python -m pytest \ + --cache-clear \ + # Needed because of https://github.com/pyca/cryptography/issues/14567 + # Can be removed once there is cryptography>46.0.7 + --rootdir=/tmp/cuml/python/cuml \ "${CUML_TESTS_DIR}/test_array.py" \ "${CUML_TESTS_DIR}/test_compose.py" \ "${CUML_TESTS_DIR}/test_input_utils.py" \ From ebcccd7ae32eb52e25e49cd1c68eae7d92799025 Mon Sep 17 00:00:00 2001 From: Tim Head Date: Wed, 8 Apr 2026 16:05:53 +0200 Subject: [PATCH 12/20] Fix pytest command --- ci/test_cuml_compat.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ci/test_cuml_compat.sh b/ci/test_cuml_compat.sh index 32248ab8e62c..dd70fca7cafe 100755 --- a/ci/test_cuml_compat.sh +++ b/ci/test_cuml_compat.sh @@ -20,10 +20,10 @@ git clone https://github.com/rapidsai/cuml.git --branch "${RAPIDS_BRANCH}" --dep CUML_TESTS_DIR=/tmp/cuml/python/cuml/tests rapids-logger "pytest cuml cuDF-compat subset" +# --rootdir is needed because of https://github.com/pyca/cryptography/issues/14567 +# Can be removed once there is cryptography>46.0.7 timeout 15m python -m pytest \ --cache-clear \ - # Needed because of https://github.com/pyca/cryptography/issues/14567 - # Can be removed once there is cryptography>46.0.7 --rootdir=/tmp/cuml/python/cuml \ "${CUML_TESTS_DIR}/test_array.py" \ "${CUML_TESTS_DIR}/test_compose.py" \ From 4b006d35bba84281c9e4ffc2caee7cb573b7c084 Mon Sep 17 00:00:00 2001 From: Tim Head Date: Wed, 8 Apr 2026 17:08:49 +0200 Subject: [PATCH 13/20] Different fix --- ci/test_cuml_compat.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ci/test_cuml_compat.sh b/ci/test_cuml_compat.sh index dd70fca7cafe..be3c08f1461a 100755 --- a/ci/test_cuml_compat.sh +++ b/ci/test_cuml_compat.sh @@ -20,11 +20,11 @@ git clone https://github.com/rapidsai/cuml.git --branch "${RAPIDS_BRANCH}" --dep CUML_TESTS_DIR=/tmp/cuml/python/cuml/tests rapids-logger "pytest cuml cuDF-compat subset" -# --rootdir is needed because of https://github.com/pyca/cryptography/issues/14567 +# --confcutdir is needed because of https://github.com/pyca/cryptography/issues/14567 # Can be removed once there is cryptography>46.0.7 timeout 15m python -m pytest \ --cache-clear \ - --rootdir=/tmp/cuml/python/cuml \ + --confcutdir="${CUML_TESTS_DIR}" \ "${CUML_TESTS_DIR}/test_array.py" \ "${CUML_TESTS_DIR}/test_compose.py" \ "${CUML_TESTS_DIR}/test_input_utils.py" \ From 40752b640eade1719e06961e3741750c1c3f12e8 Mon Sep 17 00:00:00 2001 From: Tim Head Date: Wed, 8 Apr 2026 17:41:14 +0200 Subject: [PATCH 14/20] Fix quotes --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7aa1a53be2e9..1e85fa8b1c47 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -311,7 +311,7 @@ * Remove inefficiencies in gather by @galipremsagar in https://github.com/rapidsai/cudf/pull/21429 * pds-h validation improvements by @TomAugspurger in https://github.com/rapidsai/cudf/pull/21388 * check-nightly-ci: remove testing config by @jameslamb in https://github.com/rapidsai/cudf/pull/21494 -* Update RapidsMPF’s `Context()` since it no longer takes a statistics argument. by @madsbk in https://github.com/rapidsai/cudf/pull/21503 +* Update RapidsMPF's `Context()` since it no longer takes a statistics argument. by @madsbk in https://github.com/rapidsai/cudf/pull/21503 * Drop uses of thrust/functional by @miscco in https://github.com/rapidsai/cudf/pull/21477 * Refactor some common utilities out of find_and_replace by @vyasr in https://github.com/rapidsai/cudf/pull/21500 * Sort specialization logic for dictionary column by @davidwendt in https://github.com/rapidsai/cudf/pull/21420 From 10f29a20493d2aeedd112cced89280cd493a140e Mon Sep 17 00:00:00 2001 From: Tim Head Date: Thu, 9 Apr 2026 09:42:12 +0200 Subject: [PATCH 15/20] Remove cryptography workaround attempt --- ci/test_cuml_compat.sh | 3 --- 1 file changed, 3 deletions(-) diff --git a/ci/test_cuml_compat.sh b/ci/test_cuml_compat.sh index be3c08f1461a..8100cd78f867 100755 --- a/ci/test_cuml_compat.sh +++ b/ci/test_cuml_compat.sh @@ -20,11 +20,8 @@ git clone https://github.com/rapidsai/cuml.git --branch "${RAPIDS_BRANCH}" --dep CUML_TESTS_DIR=/tmp/cuml/python/cuml/tests rapids-logger "pytest cuml cuDF-compat subset" -# --confcutdir is needed because of https://github.com/pyca/cryptography/issues/14567 -# Can be removed once there is cryptography>46.0.7 timeout 15m python -m pytest \ --cache-clear \ - --confcutdir="${CUML_TESTS_DIR}" \ "${CUML_TESTS_DIR}/test_array.py" \ "${CUML_TESTS_DIR}/test_compose.py" \ "${CUML_TESTS_DIR}/test_input_utils.py" \ From eaaa812f8faeb6d149e54670882f7bc67ce310ae Mon Sep 17 00:00:00 2001 From: Tim Head Date: Tue, 28 Apr 2026 09:37:39 +0200 Subject: [PATCH 16/20] Remember to save after resolving conflicts --- .github/workflows/pr.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index ed78eab282ba..a015e6c8553c 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -42,14 +42,11 @@ jobs: - narwhals-tests - telemetry-setup - third-party-integration-tests-cudf-pandas -<<<<<<< HEAD - cuml-compat-tests -======= - streams-build-matrix - streams-build - streams-test-matrix - streams-test ->>>>>>> main secrets: inherit uses: rapidsai/shared-workflows/.github/workflows/pr-builder.yaml@main if: always() From 3d52dec639b4324179b20959987774f544652a9d Mon Sep 17 00:00:00 2001 From: Tim Head Date: Wed, 29 Apr 2026 09:00:58 +0200 Subject: [PATCH 17/20] Update the list of tests Test files were renamed in cuml --- ci/test_cuml_compat.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ci/test_cuml_compat.sh b/ci/test_cuml_compat.sh index 8100cd78f867..a2809be979d5 100755 --- a/ci/test_cuml_compat.sh +++ b/ci/test_cuml_compat.sh @@ -28,7 +28,10 @@ timeout 15m python -m pytest \ "${CUML_TESTS_DIR}/test_kneighbors_classifier.py" \ "${CUML_TESTS_DIR}/test_kneighbors_regressor.py" \ "${CUML_TESTS_DIR}/test_label_encoder.py" \ - "${CUML_TESTS_DIR}/test_linear_model.py" \ + "${CUML_TESTS_DIR}/test_elastic_net.py" \ + "${CUML_TESTS_DIR}/test_linear_regression.py" \ + "${CUML_TESTS_DIR}/test_logistic_regression.py" \ + "${CUML_TESTS_DIR}/test_ridge.py" \ "${CUML_TESTS_DIR}/test_metrics.py" \ "${CUML_TESTS_DIR}/test_one_hot_encoder.py" \ "${CUML_TESTS_DIR}/test_ordinal_encoder.py" \ From 7497c0abc593518e634bcc8c7645ff668d51ca0e Mon Sep 17 00:00:00 2001 From: Tim Head Date: Fri, 8 May 2026 10:24:14 +0200 Subject: [PATCH 18/20] Make the cuml compat job actually optional --- .github/workflows/pr.yaml | 3 +-- ci/test_cuml_compat.sh | 3 +++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index ce30550513ae..5cc6e4683adc 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -42,7 +42,6 @@ jobs: - narwhals-tests - telemetry-setup - third-party-integration-tests-cudf-pandas - - cuml-compat-tests secrets: inherit uses: rapidsai/shared-workflows/.github/workflows/pr-builder.yaml@main if: always() @@ -330,7 +329,7 @@ jobs: uses: rapidsai/shared-workflows/.github/workflows/checks.yaml@main with: enable_check_generated_files: false - ignored_pr_jobs: "telemetry-summarize spark-rapids-jni wheel-tests-cudf-polars-with-rapidsmpf" + ignored_pr_jobs: "telemetry-summarize spark-rapids-jni wheel-tests-cudf-polars-with-rapidsmpf cuml-compat-tests" conda-cpp-build: needs: checks secrets: inherit diff --git a/ci/test_cuml_compat.sh b/ci/test_cuml_compat.sh index a2809be979d5..aaef59ecce45 100755 --- a/ci/test_cuml_compat.sh +++ b/ci/test_cuml_compat.sh @@ -20,6 +20,9 @@ git clone https://github.com/rapidsai/cuml.git --branch "${RAPIDS_BRANCH}" --dep CUML_TESTS_DIR=/tmp/cuml/python/cuml/tests rapids-logger "pytest cuml cuDF-compat subset" + +exit 1 + timeout 15m python -m pytest \ --cache-clear \ "${CUML_TESTS_DIR}/test_array.py" \ From f9fe34a87a0e30c3ed8ec7c23cdbae13fef1acdd Mon Sep 17 00:00:00 2001 From: Tim Head Date: Fri, 8 May 2026 13:59:15 +0200 Subject: [PATCH 19/20] Remove exit 1 --- ci/test_cuml_compat.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/ci/test_cuml_compat.sh b/ci/test_cuml_compat.sh index aaef59ecce45..804e03e4b6f9 100755 --- a/ci/test_cuml_compat.sh +++ b/ci/test_cuml_compat.sh @@ -21,8 +21,6 @@ CUML_TESTS_DIR=/tmp/cuml/python/cuml/tests rapids-logger "pytest cuml cuDF-compat subset" -exit 1 - timeout 15m python -m pytest \ --cache-clear \ "${CUML_TESTS_DIR}/test_array.py" \ From 07f9ee70efe769e9a13272f97f53fa8fd8375ed6 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Tue, 16 Jun 2026 11:10:56 -0700 Subject: [PATCH 20/20] Add missing permissions block to cuml-compat-tests jobs --- .github/workflows/pr.yaml | 6 ++++++ .github/workflows/test.yaml | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 3f5436fc41db..6e0cfdd6f733 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -777,6 +777,12 @@ jobs: ci/cudf_pandas_scripts/third-party-integration/test.sh python/cudf/cudf_pandas_tests/third_party_integration_tests/dependencies.yaml cuml-compat-tests: needs: [conda-python-build, conda-python-build-noarch, changed-files] + permissions: + actions: read + contents: read + id-token: write + packages: read + pull-requests: read secrets: inherit # zizmor: ignore[secrets-inherit] uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@main if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python_conda && fromJSON(needs.changed-files.outputs.changed_file_groups).neither_cudf_polars_nor_dask_cudf diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 0b03015f0304..e1bbb6961c15 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -238,6 +238,12 @@ jobs: ci/cudf_pandas_scripts/third-party-integration/test.sh python/cudf/cudf_pandas_tests/third_party_integration_tests/dependencies.yaml continue-on-error: true cuml-compat-tests: + permissions: + actions: read + contents: read + id-token: write + packages: read + pull-requests: read secrets: inherit # zizmor: ignore[secrets-inherit] uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@main with: