Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 2 additions & 19 deletions .github/workflows/pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -334,7 +334,7 @@ jobs:
uses: rapidsai/shared-workflows/.github/workflows/checks.yaml@cuda-13.2.0
with:
enable_check_generated_files: false
ignored_pr_jobs: "telemetry-summarize spark-rapids-jni wheel-tests-cudf-polars-with-rapidsmpf devcontainers-pip"
ignored_pr_jobs: "telemetry-summarize spark-rapids-jni devcontainers-pip"
conda-cpp-build:
needs: checks
permissions:
Expand Down Expand Up @@ -600,25 +600,8 @@ jobs:
# This selects "ARCH=amd64 + the latest supported Python + CUDA".
matrix_filter: map(select(.ARCH == "amd64")) | group_by(.CUDA_VER|split(".")|map(tonumber)|.[0]) | map(max_by([(.PY_VER|split(".")|map(tonumber)), (.CUDA_VER|split(".")|map(tonumber))]))
build_type: pull-request
script: "ci/test_wheel_cudf_polars.sh"
wheel-tests-cudf-polars-with-rapidsmpf:
needs: [wheel-build-cudf-polars, 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/wheels-test.yaml@cuda-13.2.0
if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python_wheels && fromJSON(needs.changed-files.outputs.changed_file_groups).neither_cudf_nor_dask_cudf
with:
# This selects "ARCH=amd64 + the latest supported Python + CUDA" to minimize CI usage.
# (rapidsmpf compatibility already validated in rapidsmpf CI)
matrix_filter: map(select(.ARCH == "amd64")) | group_by(.CUDA_VER|split(".")|map(tonumber)|.[0]) | map(max_by([(.PY_VER|split(".")|map(tonumber)), (.CUDA_VER|split(".")|map(tonumber))]))
build_type: pull-request
container-options: "--cap-add CAP_SYS_PTRACE --shm-size=8g --ulimit=nofile=1000000:1000000"
script: "ci/test_cudf_polars_experimental.sh"
script: "ci/test_wheel_cudf_polars.sh"
cudf-polars-polars-tests:
needs: [wheel-build-cudf-polars, changed-files]
permissions:
Expand Down
21 changes: 1 addition & 20 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -246,31 +246,12 @@ jobs:
secrets: inherit # zizmor: ignore[secrets-inherit]
uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@cuda-13.2.0
with:
build_type: ${{ inputs.build_type }}
branch: ${{ inputs.branch }}
date: ${{ inputs.date }}
sha: ${{ inputs.sha }}
script: "ci/test_wheel_cudf_polars.sh"
wheel-tests-cudf-polars-with-rapidsmpf:
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/wheels-test.yaml@cuda-13.2.0
with:
# This selects "ARCH=amd64 + the latest supported Python + CUDA" to minimize CI usage.
# (rapidsmpf compatibility already validated in rapidsmpf CI)
matrix_filter: map(select(.ARCH == "amd64")) | group_by(.CUDA_VER|split(".")|map(tonumber)|.[0]) | map(max_by([(.PY_VER|split(".")|map(tonumber)), (.CUDA_VER|split(".")|map(tonumber))]))
build_type: ${{ inputs.build_type }}
branch: ${{ inputs.branch }}
container-options: "--cap-add CAP_SYS_PTRACE --shm-size=8g --ulimit=nofile=1000000:1000000"
date: ${{ inputs.date }}
sha: ${{ inputs.sha }}
script: "ci/test_cudf_polars_experimental.sh"
continue-on-error: true
script: "ci/test_wheel_cudf_polars.sh"
cudf-polars-polars-tests:
permissions:
actions: read
Expand Down
14 changes: 0 additions & 14 deletions ci/run_cudf_polars_experimental_pytests.sh

This file was deleted.

2 changes: 1 addition & 1 deletion ci/run_cudf_polars_pytests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ set -euo pipefail
# Support invoking run_cudf_polars_pytests.sh outside the script directory
cd "$(dirname "$(realpath "${BASH_SOURCE[0]}")")"/../python/cudf_polars/

python -m pytest --cache-clear "$@" tests --ignore=tests/experimental
python -m pytest --cache-clear "$@" tests
69 changes: 0 additions & 69 deletions ci/test_cudf_polars_experimental.sh

This file was deleted.

2 changes: 1 addition & 1 deletion ci/test_wheel_cudf_polars.sh
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ rapids-pip-retry install \
-v \
--prefer-binary \
--constraint "${PIP_CONSTRAINT}" \
"$(echo "${CUDF_POLARS_WHEELHOUSE}"/cudf_polars_"${RAPIDS_PY_CUDA_SUFFIX}"*.whl)[test,experimental]" \
"$(echo "${CUDF_POLARS_WHEELHOUSE}"/cudf_polars_"${RAPIDS_PY_CUDA_SUFFIX}"*.whl)[test,experimental,ray]" \
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With this change, is there ANY place left in CI where cudf-polars is tested without ray?

If not, then CI can't catch a bug of the form "we call ray an optional dependency but it's imported unconditionally".

Might be worth coming up with a plan for that. The lightest-weight way I can think of (but which isn't as thorough as running the test suite) would be to do something like this:

pip uninstall --yes ray
python -c "import cudf_polars"

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good observation. We should be running the Polars test suite (cudf-polars-polars-tests) without Ray (or Dask) installed, but it feel less "intentional" to rely on integrations tests to validate that these dependencies are optional. I opened #22478 to follow up on this

"$(echo "${LIBCUDF_WHEELHOUSE}"/libcudf_"${RAPIDS_PY_CUDA_SUFFIX}"*.whl)" \
"$(echo "${PYLIBCUDF_WHEELHOUSE}"/pylibcudf_"${RAPIDS_PY_CUDA_SUFFIX}"*.whl)"

Expand Down
4 changes: 3 additions & 1 deletion python/cudf_polars/tests/experimental/test_rolling.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
from cudf_polars.experimental.rapidsmpf.frontend.options import StreamingOptions
from cudf_polars.experimental.rapidsmpf.frontend.spmd import SPMDEngine
from cudf_polars.testing.asserts import assert_gpu_result_equal
from cudf_polars.testing.engine_utils import warns_on_spmd
from cudf_polars.utils.versions import POLARS_VERSION_LT_136


Expand Down Expand Up @@ -40,7 +41,8 @@ def test_rolling_datetime(request, engine):
)
q = df.with_columns(pl.sum("a").rolling(index_column="dt", period="2d"))
# HStack may redirect to Select before fallback; message differs by Polars IR / version.
with pytest.warns(
with warns_on_spmd(
engine,
UserWarning,
match=r"This (HStack|selection) is not supported for multiple partitions\.",
):
Expand Down
Loading