Skip to content

Rapidsmpf backref API changes for Host and Pinned MR - #23128

Merged
vyasr merged 12 commits into
NVIDIA:release/26.08from
nirandaperera:rapidsmpf-backref-api-changes2
Jul 20, 2026
Merged

Rapidsmpf backref API changes for Host and Pinned MR #23128
vyasr merged 12 commits into
NVIDIA:release/26.08from
nirandaperera:rapidsmpf-backref-api-changes2

Conversation

@nirandaperera

Copy link
Copy Markdown
Contributor

Description

Adds PR changes to Host and Pinned MRs.

Depends on rapidsai/rapidsmpf#1106

Checklist

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

@nirandaperera nirandaperera self-assigned this Jul 6, 2026
@nirandaperera
nirandaperera requested review from a team as code owners July 6, 2026 19:03
@nirandaperera
nirandaperera requested a review from jameslamb July 6, 2026 19:03
@nirandaperera nirandaperera added improvement Improvement / enhancement to an existing function breaking Breaking change labels Jul 6, 2026
@github-actions github-actions Bot added the libcudf Affects libcudf (C++/CUDA) code. label Jul 6, 2026
@coderabbitai

coderabbitai Bot commented Jul 6, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

This PR adds conda and wheel PR-artifact helpers, integrates them into CI build and test scripts, and updates libcudf_streaming BufferResource::create calls to use PinnedMemoryDisabled and PinnedPoolProperties.

Changes

CI PR-artifact package sourcing

Layer / File(s) Summary
PR artifact helper scripts
ci/use_conda_packages_from_prs.sh, ci/use_wheels_from_prs.sh
Downloads PR conda channels and wheels, exports channel configuration, and appends local wheel constraints.
Conda helper and channel wiring
ci/build_*.sh, ci/test_*.sh, ci/cudf_pandas_scripts/third-party-integration/test.sh
Sources the conda helper and passes its channel arguments into dependency generation.
Wheel helper wiring
ci/build_wheel_*.sh, ci/test_*wheel*.sh, ci/test_cudf_polars_polars_tests.sh
Sources the wheel helper after pip constraint setup.

Pinned memory configuration API migration

Layer / File(s) Summary
Pinned memory configuration updates
cpp/libcudf_streaming/benchmarks/..., cpp/libcudf_streaming/tests/...
Replaces legacy pinned-memory resource arguments and updates benchmark pinned-memory statistics retrieval.

Estimated code review effort: 2 (Simple) | ~15 minutes

Suggested reviewers: jameslamb, tomaugustrompers, vyasr

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
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.
Title check ✅ Passed The title matches the main pinned/host MR API changes, though it omits the CI helper updates.
Description check ✅ Passed The description is on-topic and accurately summarizes the Host and Pinned MR changes plus the PR dependency.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

@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 (1)
ci/use_conda_packages_from_prs.sh (1)

18-23: 🧹 Nitpick | 🔵 Trivial

Persistent system-wide conda config mutation.

conda config --system --add channels writes to the runner's system-wide .condarc. This is fine on ephemeral, single-job containers, but if any CI worker/image is reused across jobs, this leaves rapidsmpf-PR channels configured beyond the lifetime of this temporary test.

🤖 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/use_conda_packages_from_prs.sh` around lines 18 - 23, The channel setup in
the conda helper script mutates the runner’s persistent system-wide conda config
via conda config --system --add channels. Update the channel-prepend logic in
use_conda_packages_from_prs.sh so it only affects the current job/session (for
example by using a temporary conda config location or per-shell environment
settings) instead of writing to the global .condarc, and keep the change
centered around the _channel loop and RAPIDS_PREPENDED_CONDA_CHANNELS handling.
🤖 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/use_conda_packages_from_prs.sh`:
- Around line 18-23: The channel setup in the conda helper script mutates the
runner’s persistent system-wide conda config via conda config --system --add
channels. Update the channel-prepend logic in use_conda_packages_from_prs.sh so
it only affects the current job/session (for example by using a temporary conda
config location or per-shell environment settings) instead of writing to the
global .condarc, and keep the change centered around the _channel loop and
RAPIDS_PREPENDED_CONDA_CHANNELS handling.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 11afa50e-c7aa-4625-b55b-501ef37cf51e

📥 Commits

Reviewing files that changed from the base of the PR and between 23ef5e5 and d1d490b.

📒 Files selected for processing (22)
  • ci/build_cpp.sh
  • ci/build_docs.sh
  • ci/build_python.sh
  • ci/build_python_noarch.sh
  • ci/build_wheel_cudf_streaming.sh
  • ci/build_wheel_libcudf_streaming.sh
  • ci/cudf_pandas_scripts/third-party-integration/test.sh
  • ci/test_cpp_common.sh
  • ci/test_cudf_polars_polars_tests.sh
  • ci/test_java.sh
  • ci/test_notebooks.sh
  • ci/test_python_common.sh
  • ci/test_wheel_cudf_polars.sh
  • ci/test_wheel_cudf_streaming.sh
  • ci/use_conda_packages_from_prs.sh
  • ci/use_wheels_from_prs.sh
  • cpp/libcudf_streaming/benchmarks/bench_shuffle.cpp
  • cpp/libcudf_streaming/benchmarks/streaming/bench_streaming_shuffle.cpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/utils.cpp
  • cpp/libcudf_streaming/tests/streaming/base_streaming_fixture.hpp
  • cpp/libcudf_streaming/tests/streaming/test_table_chunk.cpp
  • cpp/libcudf_streaming/tests/test_shuffler.cpp

@nirandaperera
nirandaperera force-pushed the rapidsmpf-backref-api-changes2 branch from d1d490b to e4edd1f Compare July 6, 2026 21:00

@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.

Actionable comments posted: 1

🧹 Nitpick comments (8)
ci/build_cpp.sh (1)

25-27: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Track removal of the temporary PR-sourcing workaround.

The TODO explicitly flags this as a temporary linkage to an unmerged external PR (rapidsai/rapidsmpf#1106) that must be removed before merging. Since this is a stacked-PR pattern across multiple CI scripts, ensure there's a tracked follow-up (issue/checklist) so this isn't accidentally left in after rapidsmpf#1106 merges.

Do you want me to open an issue to track removal of this temporary sourcing call across all wired scripts?

🤖 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/build_cpp.sh` around lines 25 - 27, The temporary PR-sourcing workaround
in the build script should be tracked for removal before merge. Update the
ci/build_cpp.sh logic around use_conda_packages_from_prs.sh so it is clearly
tied to the external stacked PR and add a follow-up issue or checklist entry to
ensure the workaround is removed everywhere once rapidsai/rapidsmpf#1106 lands.
Use the existing TODO as the anchor and keep the tracking consistent with the
other CI scripts that source the same helper.
ci/test_wheel_cudf_polars.sh (1)

23-25: 🔒 Security & Privacy | 🔵 Trivial | ⚡ Quick win

Temporary PR-sourced wheel override — confirm removal before merge.

Same TODO-marked use_wheels_from_prs.sh sourcing pattern as the other wheel scripts. Flagging for consistency; ensure tracked removal covers this file too.

🤖 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_wheel_cudf_polars.sh` around lines 23 - 25, The temporary PR-sourced
wheel override is still being sourced in this wheel test script, so remove the
TODO-marked use of use_wheels_from_prs.sh before merging. Update the
ci/test_wheel_cudf_polars.sh setup so it matches the intended wheel source
behavior used elsewhere, and ensure the cleanup/removal is applied consistently
for this script as well.
ci/build_python.sh (1)

24-26: 🔒 Security & Privacy | 🔵 Trivial | ⚡ Quick win

Temporary PR-sourced package override — confirm removal before merge.

Same pattern as other build/test scripts: sourcing use_conda_packages_from_prs.sh unconditionally pulls in package/channel overrides from an external PR. Please ensure this is tracked for removal (or gated behind an opt-in flag) before this PR merges to avoid silently shipping test-only dependency resolution.

🤖 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/build_python.sh` around lines 24 - 26, The build script currently sources
use_conda_packages_from_prs.sh unconditionally, which leaves a temporary PR-only
dependency override in place. Remove this override from the ci/build_python.sh
flow before merge, or guard the source call behind an explicit opt-in flag, and
make sure the temporary TODO around this behavior is cleared. Use the existing
source ./ci/use_conda_packages_from_prs.sh reference in build_python.sh to
locate and update the affected step.
ci/build_docs.sh (1)

18-20: 🔒 Security & Privacy | 🔵 Trivial | ⚡ Quick win

Temporary PR-sourced package override — confirm removal before merge.

This sources use_conda_packages_from_prs.sh (pinned to rapidsmpf#1106) to override conda channel resolution for every docs build. The TODO explicitly flags it for removal, but if this lands on the base branch it silently prefers packages from an external, unmerged PR ahead of official RAPIDS channels — a supply-chain risk for anyone building docs off this branch.

Consider gating this behind an explicit opt-in env var (e.g., only active when a CI variable is set) so an accidental merge doesn't silently change dependency resolution, or add a CI lint that fails if this TODO marker is still present.

🤖 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/build_docs.sh` around lines 18 - 20, The docs build script still
unconditionally sources the temporary PR-based conda override, which should not
remain active by default. Update build_docs.sh so the
use_conda_packages_from_prs.sh step is only enabled behind an explicit opt-in
condition or CI variable, and make sure the temporary TODO marker is removed or
guarded before merge. Use the existing build_docs.sh entrypoint and the source
./ci/use_conda_packages_from_prs.sh line as the place to apply the fix.
ci/test_python_common.sh (1)

14-16: 🔒 Security & Privacy | 🔵 Trivial | ⚡ Quick win

Temporary PR-sourced package override — confirm removal before merge.

Same TODO-marked pattern as build scripts. Please track removal of this sourcing (and the accompanying loop below) before merge.

🤖 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_python_common.sh` around lines 14 - 16, The temporary PR-sourced
package override in the test script should be removed before merge. Update the
script that sources ci/use_conda_packages_from_prs.sh and the related loop logic
so it no longer depends on PR-built packages, matching the cleanup expected for
the TODO-marked override pattern. Use the existing script section around the
conda setup in ci/test_python_common.sh to locate and remove the override path.
ci/build_python_noarch.sh (1)

24-26: 🔒 Security & Privacy | 🔵 Trivial | ⚡ Quick win

Temporary PR-sourced package override — confirm removal before merge.

Same TODO-marked sourcing of use_conda_packages_from_prs.sh as in build_python.sh/build_docs.sh. Flagging for consistency; ensure the tracking/removal plan covers this file too.

🤖 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/build_python_noarch.sh` around lines 24 - 26, This build script still
sources use_conda_packages_from_prs.sh under a TODO, so the temporary PR-sourced
package override must be removed or explicitly tracked for removal before merge.
Update the build_python_noarch.sh flow to match the intended final CI setup, and
ensure the same cleanup plan used in build_python.sh and build_docs.sh also
covers this script.
ci/build_wheel_cudf_streaming.sh (1)

24-26: 🔒 Security & Privacy | 🔵 Trivial | ⚡ Quick win

Temporary PR-sourced wheel override — confirm removal before merge.

Sources use_wheels_from_prs.sh (rapidsmpf#1106) to append file:// wheel constraints, placed after the just-built libcudf_streaming/libcudf/pylibcudf pins are written to PIP_CONSTRAINT. Ordering looks correct, but same concern as the conda counterpart: this must be removed (or gated) before merge to avoid pulling unverified PR wheels into standard CI runs.

🤖 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/build_wheel_cudf_streaming.sh` around lines 24 - 26, The
build_wheel_cudf_streaming script is still sourcing use_wheels_from_prs.sh to
override wheel constraints with PR-sourced artifacts, which should not run in
normal CI. Remove this temporary source call or guard it behind an explicit
opt-in flag in build_wheel_cudf_streaming so the standard wheel build path only
uses the intended libcudf_streaming, libcudf, and pylibcudf pins written to
PIP_CONSTRAINT.
ci/test_wheel_cudf_streaming.sh (1)

20-22: 🔒 Security & Privacy | 🔵 Trivial | ⚡ Quick win

Temporary PR-sourced wheel override — confirm removal before merge.

Same TODO-marked use_wheels_from_prs.sh sourcing as test_wheel_cudf_polars.sh and build_wheel_cudf_streaming.sh. Placement (after rapids-generate-pip-constraints, before install) looks correct; main concern is ensuring it's removed/gated before this stack merges.

🤖 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_wheel_cudf_streaming.sh` around lines 20 - 22, The temporary
PR-sourced wheel override in the test script should not ship as-is; remove the
TODO-marked sourcing of use_wheels_from_prs.sh or guard it behind an explicit
opt-in so the CI job no longer depends on PR wheels by default. Update the
test_wheel_cudf_streaming flow to keep the current placement relative to
rapids-generate-pip-constraints and the install step, and ensure any matching
temporary overrides in the related wheel scripts are handled the same way before
merge.
🤖 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.

Inline comments:
In `@ci/build_wheel_libcudf_streaming.sh`:
- Around line 20-22: Remove the temporary PR-based rapidsmpf wheel dependency
from build_wheel_libcudf_streaming.sh by deleting the source call to
use_wheels_from_prs.sh and any related TODO wiring. Keep the wheel build flow
self-contained so it no longer depends on rapidsai/rapidsmpf#1106, and if needed
replace it with a stable guard or documented follow-up tracked outside the
script.

---

Nitpick comments:
In `@ci/build_cpp.sh`:
- Around line 25-27: The temporary PR-sourcing workaround in the build script
should be tracked for removal before merge. Update the ci/build_cpp.sh logic
around use_conda_packages_from_prs.sh so it is clearly tied to the external
stacked PR and add a follow-up issue or checklist entry to ensure the workaround
is removed everywhere once rapidsai/rapidsmpf#1106 lands. Use the existing TODO
as the anchor and keep the tracking consistent with the other CI scripts that
source the same helper.

In `@ci/build_docs.sh`:
- Around line 18-20: The docs build script still unconditionally sources the
temporary PR-based conda override, which should not remain active by default.
Update build_docs.sh so the use_conda_packages_from_prs.sh step is only enabled
behind an explicit opt-in condition or CI variable, and make sure the temporary
TODO marker is removed or guarded before merge. Use the existing build_docs.sh
entrypoint and the source ./ci/use_conda_packages_from_prs.sh line as the place
to apply the fix.

In `@ci/build_python_noarch.sh`:
- Around line 24-26: This build script still sources
use_conda_packages_from_prs.sh under a TODO, so the temporary PR-sourced package
override must be removed or explicitly tracked for removal before merge. Update
the build_python_noarch.sh flow to match the intended final CI setup, and ensure
the same cleanup plan used in build_python.sh and build_docs.sh also covers this
script.

In `@ci/build_python.sh`:
- Around line 24-26: The build script currently sources
use_conda_packages_from_prs.sh unconditionally, which leaves a temporary PR-only
dependency override in place. Remove this override from the ci/build_python.sh
flow before merge, or guard the source call behind an explicit opt-in flag, and
make sure the temporary TODO around this behavior is cleared. Use the existing
source ./ci/use_conda_packages_from_prs.sh reference in build_python.sh to
locate and update the affected step.

In `@ci/build_wheel_cudf_streaming.sh`:
- Around line 24-26: The build_wheel_cudf_streaming script is still sourcing
use_wheels_from_prs.sh to override wheel constraints with PR-sourced artifacts,
which should not run in normal CI. Remove this temporary source call or guard it
behind an explicit opt-in flag in build_wheel_cudf_streaming so the standard
wheel build path only uses the intended libcudf_streaming, libcudf, and
pylibcudf pins written to PIP_CONSTRAINT.

In `@ci/test_python_common.sh`:
- Around line 14-16: The temporary PR-sourced package override in the test
script should be removed before merge. Update the script that sources
ci/use_conda_packages_from_prs.sh and the related loop logic so it no longer
depends on PR-built packages, matching the cleanup expected for the TODO-marked
override pattern. Use the existing script section around the conda setup in
ci/test_python_common.sh to locate and remove the override path.

In `@ci/test_wheel_cudf_polars.sh`:
- Around line 23-25: The temporary PR-sourced wheel override is still being
sourced in this wheel test script, so remove the TODO-marked use of
use_wheels_from_prs.sh before merging. Update the ci/test_wheel_cudf_polars.sh
setup so it matches the intended wheel source behavior used elsewhere, and
ensure the cleanup/removal is applied consistently for this script as well.

In `@ci/test_wheel_cudf_streaming.sh`:
- Around line 20-22: The temporary PR-sourced wheel override in the test script
should not ship as-is; remove the TODO-marked sourcing of use_wheels_from_prs.sh
or guard it behind an explicit opt-in so the CI job no longer depends on PR
wheels by default. Update the test_wheel_cudf_streaming flow to keep the current
placement relative to rapids-generate-pip-constraints and the install step, and
ensure any matching temporary overrides in the related wheel scripts are handled
the same way before merge.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 51b203e6-ae21-453a-81c3-77d08d7cbfb0

📥 Commits

Reviewing files that changed from the base of the PR and between d1d490b and e4edd1f.

📒 Files selected for processing (16)
  • ci/build_cpp.sh
  • ci/build_docs.sh
  • ci/build_python.sh
  • ci/build_python_noarch.sh
  • ci/build_wheel_cudf_streaming.sh
  • ci/build_wheel_libcudf_streaming.sh
  • ci/cudf_pandas_scripts/third-party-integration/test.sh
  • ci/test_cpp_common.sh
  • ci/test_cudf_polars_polars_tests.sh
  • ci/test_java.sh
  • ci/test_notebooks.sh
  • ci/test_python_common.sh
  • ci/test_wheel_cudf_polars.sh
  • ci/test_wheel_cudf_streaming.sh
  • ci/use_conda_packages_from_prs.sh
  • ci/use_wheels_from_prs.sh
🚧 Files skipped from review as they are similar to previous changes (2)
  • ci/use_wheels_from_prs.sh
  • ci/use_conda_packages_from_prs.sh

Comment thread ci/build_wheel_libcudf_streaming.sh Outdated
@nirandaperera
nirandaperera force-pushed the rapidsmpf-backref-api-changes2 branch from e4edd1f to 8556718 Compare July 6, 2026 21:31
@@ -1,5 +1,5 @@
#!/bin/bash

@nirandaperera nirandaperera Jul 6, 2026

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.

Please disregard all bash file changes in ci/ dir. They will be reverted once CI testing is completed

Comment thread cpp/libcudf_streaming/benchmarks/streaming/ndsh/utils.cpp Outdated
Comment thread cpp/libcudf_streaming/benchmarks/streaming/bench_streaming_shuffle.cpp Outdated
Comment thread cpp/libcudf_streaming/benchmarks/bench_shuffle.cpp Outdated
…f-api-changes2

Signed-off-by: niranda perera <niranda.perera@gmail.com>
Signed-off-by: niranda perera <niranda.perera@gmail.com>
Signed-off-by: niranda perera <niranda.perera@gmail.com>
@nirandaperera
nirandaperera force-pushed the rapidsmpf-backref-api-changes2 branch from 8556718 to 7360910 Compare July 13, 2026 20:32

@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.

Actionable comments posted: 2

🧹 Nitpick comments (1)
ci/use_conda_packages_from_prs.sh (1)

1-4: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Consider a removal-tracking note, as done in the wheel counterpart.

This script hardcodes rapidsmpf PR #1106 the same way ci/use_wheels_from_prs.sh does, but the latter is wrapped with a # TODO: Remove before merging... note in its caller (ci/test_cudf_polars_polars_tests.sh). Adding an equivalent note/header here would keep the temporary dependency on an unmerged PR clearly flagged for removal.

🤖 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/use_conda_packages_from_prs.sh` around lines 1 - 4, Because
ci/use_conda_packages_from_prs.sh hardcodes the temporary rapidsmpf PR `#1106`
dependency, add a clear TODO removal-tracking note near the script header,
matching the existing convention used by ci/test_cudf_polars_polars_tests.sh for
ci/use_wheels_from_prs.sh. Include that the override must be removed before
merging once the upstream change is available.
🤖 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.

Inline comments:
In `@ci/build_wheel_cudf_streaming.sh`:
- Around line 24-25: Remove the temporary TODO and PR-artifact helper sourcing
from all affected sites: ci/build_wheel_cudf_streaming.sh lines 24-25,
ci/build_wheel_libcudf_streaming.sh lines 20-21,
ci/cudf_pandas_scripts/third-party-integration/test.sh lines 31-32,
ci/test_cpp_common.sh lines 12-13, ci/test_java.sh lines 12-13, and
ci/test_notebooks.sh lines 12-13. Do not leave references to the rapidsmpf#1106
wheel or conda helper; preserve the surrounding build and test flows unchanged.

In `@ci/use_conda_packages_from_prs.sh`:
- Around line 6-7: Add immediate failure checks after the rapids-get-pr-artifact
calls assigning LIBRAPIDSMPF_CHANNEL and RAPIDSMPF_CHANNEL. Validate that each
command succeeds and returns a non-empty channel value, and fail fast with a
clear error before either value is propagated to downstream channel arguments.

---

Nitpick comments:
In `@ci/use_conda_packages_from_prs.sh`:
- Around line 1-4: Because ci/use_conda_packages_from_prs.sh hardcodes the
temporary rapidsmpf PR `#1106` dependency, add a clear TODO removal-tracking note
near the script header, matching the existing convention used by
ci/test_cudf_polars_polars_tests.sh for ci/use_wheels_from_prs.sh. Include that
the override must be removed before merging once the upstream change is
available.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 51ec381b-ec94-407b-8be2-72e0e50c3432

📥 Commits

Reviewing files that changed from the base of the PR and between e4edd1f and 7360910.

📒 Files selected for processing (21)
  • ci/build_cpp.sh
  • ci/build_docs.sh
  • ci/build_python.sh
  • ci/build_python_noarch.sh
  • ci/build_wheel_cudf_streaming.sh
  • ci/build_wheel_libcudf_streaming.sh
  • ci/cudf_pandas_scripts/third-party-integration/test.sh
  • ci/test_cpp_common.sh
  • ci/test_cudf_polars_polars_tests.sh
  • ci/test_java.sh
  • ci/test_notebooks.sh
  • ci/test_python_common.sh
  • ci/test_wheel_cudf_polars.sh
  • ci/test_wheel_cudf_streaming.sh
  • ci/use_conda_packages_from_prs.sh
  • ci/use_wheels_from_prs.sh
  • cpp/libcudf_streaming/benchmarks/bench_shuffle.cpp
  • cpp/libcudf_streaming/benchmarks/streaming/bench_streaming_shuffle.cpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/utils.cpp
  • cpp/libcudf_streaming/tests/streaming/base_streaming_fixture.hpp
  • cpp/libcudf_streaming/tests/streaming/test_table_chunk.cpp
🚧 Files skipped from review as they are similar to previous changes (4)
  • cpp/libcudf_streaming/tests/streaming/test_table_chunk.cpp
  • ci/use_wheels_from_prs.sh
  • cpp/libcudf_streaming/benchmarks/bench_shuffle.cpp
  • cpp/libcudf_streaming/benchmarks/streaming/bench_streaming_shuffle.cpp

Comment thread ci/build_wheel_cudf_streaming.sh Outdated
Comment thread ci/use_conda_packages_from_prs.sh Outdated
Comment on lines +6 to +7
LIBRAPIDSMPF_CHANNEL=$(rapids-get-pr-artifact rapidsmpf 1106 cpp conda)
RAPIDSMPF_CHANNEL=$(rapids-get-pr-artifact rapidsmpf 1106 python conda)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🩺 Stability & Availability | 🟡 Minor | ⚡ Quick win

No failure check on rapids-get-pr-artifact output.

If either call fails or returns empty, LIBRAPIDSMPF_CHANNEL/RAPIDSMPF_CHANNEL silently become empty and get propagated into RAPIDS_PREPENDED_CONDA_CHANNELS/RAPIDS_PREPENDED_CHANNEL_ARGS, later passed as an empty --prepend-channel "" / conda config --add channels "" argument to downstream consumers (e.g. ci/test_cpp_common.sh). This turns an artifact-fetch failure into a confusing downstream error instead of failing fast here.

🛡️ Proposed fix
+set -euo pipefail
+
 # download CI artifacts
 LIBRAPIDSMPF_CHANNEL=$(rapids-get-pr-artifact rapidsmpf 1106 cpp conda)
 RAPIDSMPF_CHANNEL=$(rapids-get-pr-artifact rapidsmpf 1106 python conda)
🤖 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/use_conda_packages_from_prs.sh` around lines 6 - 7, Add immediate failure
checks after the rapids-get-pr-artifact calls assigning LIBRAPIDSMPF_CHANNEL and
RAPIDSMPF_CHANNEL. Validate that each command succeeds and returns a non-empty
channel value, and fail fast with a clear error before either value is
propagated to downstream channel arguments.

Source: Path instructions

@nirandaperera
nirandaperera changed the base branch from main to release/26.08 July 18, 2026 18:21
@nirandaperera

Copy link
Copy Markdown
Contributor Author

/merge

@wence-
wence- removed request for a team and jameslamb July 20, 2026 08:33
@vyasr

vyasr commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

This PR is currently getting blocked due to flaky failures with cudf-polars that we are investigating. It is necessary to unblock cudf CI in general due to upstream changes in rapidsmpf, though, so I'm admin-merging it now to (mostly) unblock CI for everyone else while we continue debugging the flaky issues.

@vyasr
vyasr merged commit 95390db into NVIDIA:release/26.08 Jul 20, 2026
627 of 679 checks passed
@Matt711 Matt711 moved this to Done in cuDF Python Jul 20, 2026
@nirandaperera

Copy link
Copy Markdown
Contributor Author

Thanks @vyasr

davidwendt pushed a commit to wjxiz1992/cudf that referenced this pull request Jul 21, 2026
## Description
Adds PR changes to Host and Pinned MRs. 

Depends on rapidsai/rapidsmpf#1106

## Checklist
- [x] I am familiar with the [Contributing
Guidelines](https://github.com/rapidsai/cudf/blob/HEAD/CONTRIBUTING.md).
- [x] New or existing tests cover these changes.
- [x] The documentation is up to date with these changes.

---------

Signed-off-by: niranda perera <niranda.perera@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking Breaking change improvement Improvement / enhancement to an existing function libcudf Affects libcudf (C++/CUDA) code.

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

6 participants