Skip to content

Remove cudf-polars CI timeouts - #22768

Merged
rapids-bot[bot] merged 1 commit into
NVIDIA:mainfrom
TomAugspurger:tom/cudf-polars-timeout-adjustments
Jun 3, 2026
Merged

Remove cudf-polars CI timeouts#22768
rapids-bot[bot] merged 1 commit into
NVIDIA:mainfrom
TomAugspurger:tom/cudf-polars-timeout-adjustments

Conversation

@TomAugspurger

Copy link
Copy Markdown
Contributor

Description

We're investigating some persistent CI failures, many of which are made harder to debug by the timeouts in our CI scripts. For example, https://github.com/rapidsai/cudf/actions/runs/26805071862/job/79020475939#step:13:3529 has a run where the output was swallowed and the cause of the error is unclear.

To ensure we get the full pytest output, this PR removes those timeouts

Checklist

  • I am familiar with the Contributing Guidelines.
  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.

We're investigating some persistent CI failures, many of which are
made harder to debug by the timeouts in our CI scripts. For example,
https://github.com/rapidsai/cudf/actions/runs/26805071862/job/79020475939#step:13:3529
has a run where the output was swallowed and the cause of the error is
unclear.

To ensure we get the full pytest output, this PR removes those timeouts
@copy-pr-bot

copy-pr-bot Bot commented Jun 3, 2026

Copy link
Copy Markdown

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@TomAugspurger
TomAugspurger marked this pull request as ready for review June 3, 2026 16:55
@TomAugspurger
TomAugspurger requested a review from a team as a code owner June 3, 2026 16:55
@TomAugspurger
TomAugspurger requested a review from jameslamb June 3, 2026 16:55
@TomAugspurger TomAugspurger added bug Something isn't working non-breaking Non-breaking change labels Jun 3, 2026
@coderabbitai

coderabbitai Bot commented Jun 3, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Summary by CodeRabbit

  • Chores
    • Increased test output verbosity for improved debugging visibility.
    • Removed time limits on test execution to accommodate longer-running tests.

Walkthrough

The PR removes hardcoded timeout limits from four CI test scripts that run cudf-polars tests and adds extra-verbose (-vv) flags to pytest invocations. Timeout wrappers of 50m, 35m, and 30m are replaced with direct script invocations, while verbosity is increased both in the test script itself and in calling scripts.

Changes

CI test verbosity and timeout removal

Layer / File(s) Summary
Pytest verbosity flag in test script
ci/run_cudf_polars_polars_tests.sh
The first python -m pytest command gains the -vv flag to run in extra-verbose mode.
Timeout removal and invocation verbosity
ci/test_cudf_polars_polars_tests.sh, ci/test_python_other.sh, ci/test_wheel_cudf_polars.sh
Three test orchestration scripts remove explicit timeout wrappers (50m, 30m, 35m) from test runner invocations and add -vv verbosity arguments to the script calls.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Possibly related PRs

  • rapidsai/cudf#22691: Adjusts the same ci/test_wheel_cudf_polars.sh script's timeout wrapper around ./ci/run_cudf_polars_pytests.sh, creating a direct conflict with this PR's timeout removal.
  • rapidsai/cudf#22543: Modifies the same CI test invocation flags by removing -vv verbosity flags from cudf-polars pytest commands, which directly contradicts this PR's verbosity additions.
  • rapidsai/cudf#22505: Changes the timeout wrapper behavior in ci/test_wheel_cudf_polars.sh by adjusting the timeout duration, conflicting with this PR's timeout removal.

Suggested labels

Python, improvement, non-breaking, cudf-polars

Suggested reviewers

  • gforsyth
  • jameslamb
  • madsbk
  • bdice
  • wence-
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the main change: removing timeouts from cudf-polars CI scripts, which aligns with all four modified files.
Description check ✅ Passed The description explains the rationale for removing timeouts (debugging CI failures), provides a specific example of the problem, and outlines the goal of capturing full pytest output.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🧹 Nitpick comments (2)
ci/run_cudf_polars_polars_tests.sh (1)

64-64: ⚡ Quick win

Consider adding -vv to the second pytest invocation for consistency.

The first pytest invocation now includes -vv for extra verbosity, but the second invocation (line 84) does not. For consistent debugging output across both test runs, consider adding -vv to the second invocation as well.

📋 Suggested addition

At line 84, add the -vv flag to match the first invocation:

     python -m pytest \
+       -vv \
        --import-mode=importlib \
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@ci/run_cudf_polars_polars_tests.sh` at line 64, The second pytest invocation
in ci/run_cudf_polars_polars_tests.sh should include the same extra-verbosity
flag as the first one; locate the second call to pytest (the later "pytest"
command in the script) and add the `-vv` option so both invocations run with
consistent verbosity.
ci/test_cudf_polars_polars_tests.sh (1)

65-65: Timeout removal accepted; ensure CI platform has job-level timeouts.

The removal of the 50-minute script-level timeout aligns with the PR objective to capture complete test output. The existing error handling (trap on line 61) will still propagate test failures correctly.

Verify that the CI platform has its own job-level timeout configured to prevent indefinite hangs if tests deadlock. This provides a safety net while allowing legitimate long-running tests to complete and produce full output.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@ci/test_cudf_polars_polars_tests.sh` at line 65, The removal of the 50-minute
timeout from the test script means you must ensure the CI platform enforces a
job-level timeout; check the CI job that runs
./ci/run_cudf_polars_polars_tests.sh and either configure a job-level timeout
there or add a CI-level wrapper timeout so builds cannot hang indefinitely, and
keep the existing trap (the failure propagation logic set around the script)
intact so test failures still propagate correctly.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@ci/run_cudf_polars_polars_tests.sh`:
- Line 64: The second pytest invocation in ci/run_cudf_polars_polars_tests.sh
should include the same extra-verbosity flag as the first one; locate the second
call to pytest (the later "pytest" command in the script) and add the `-vv`
option so both invocations run with consistent verbosity.

In `@ci/test_cudf_polars_polars_tests.sh`:
- Line 65: The removal of the 50-minute timeout from the test script means you
must ensure the CI platform enforces a job-level timeout; check the CI job that
runs ./ci/run_cudf_polars_polars_tests.sh and either configure a job-level
timeout there or add a CI-level wrapper timeout so builds cannot hang
indefinitely, and keep the existing trap (the failure propagation logic set
around the script) intact so test failures still propagate correctly.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 78443f8b-142a-4171-86e1-e5fefe991fba

📥 Commits

Reviewing files that changed from the base of the PR and between 4162d61 and dd51ac4.

📒 Files selected for processing (4)
  • ci/run_cudf_polars_polars_tests.sh
  • ci/test_cudf_polars_polars_tests.sh
  • ci/test_python_other.sh
  • ci/test_wheel_cudf_polars.sh

@TomAugspurger
TomAugspurger removed the request for review from jameslamb June 3, 2026 17:02
@TomAugspurger

Copy link
Copy Markdown
Contributor Author

/merge

@rapids-bot
rapids-bot Bot merged commit 0c0f0ea into NVIDIA:main Jun 3, 2026
117 checks passed
@TomAugspurger
TomAugspurger deleted the tom/cudf-polars-timeout-adjustments branch June 3, 2026 20:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working non-breaking Non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants