Skip to content

test: isolate library wheel smoke test - #2494

Draft
bdice wants to merge 3 commits into
rapidsai:mainfrom
bdice:isolate-library-wheel-smoke-test
Draft

test: isolate library wheel smoke test#2494
bdice wants to merge 3 commits into
rapidsai:mainfrom
bdice:isolate-library-wheel-smoke-test

Conversation

@bdice

@bdice bdice commented Jul 24, 2026

Copy link
Copy Markdown
Collaborator

Description

Install the library wheel in a clean virtual environment and call its load_library() entry point before installing the high-level wheel or test extras. This exposes missing library-wheel runtime dependencies that the full test environment can otherwise mask.

xref: rapidsai/build-planning#307

@bdice bdice added non-breaking Non-breaking change improvement Improvement / enhancement to an existing function labels Jul 24, 2026
@copy-pr-bot

copy-pr-bot Bot commented Jul 24, 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.

@bdice

bdice commented Jul 24, 2026

Copy link
Copy Markdown
Collaborator Author

/ok to test a9245e6

@bdice bdice added improvement Improvement / enhancement to an existing function and removed improvement Improvement / enhancement to an existing function labels Jul 24, 2026
@coderabbitai

coderabbitai Bot commented Jul 24, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 4254fbf8-a09b-4df1-bb13-c8758192b1b8

📥 Commits

Reviewing files that changed from the base of the PR and between 56647ad and f4ff4fc.

📒 Files selected for processing (1)
  • ci/test_wheel.sh
🚧 Files skipped from review as they are similar to previous changes (1)
  • ci/test_wheel.sh

📝 Walkthrough

Summary by CodeRabbit

  • Tests
    • Added an isolated wheel validation step that installs the packaged library into a temporary environment and verifies it imports and loads successfully.
    • Existing installation and test execution remain unchanged.

Walkthrough

The wheel test script updates its SPDX header and adds isolated librmm wheel installation and native-library loading validation before the existing RMM installation and pytest steps.

Changes

Wheel validation

Layer / File(s) Summary
Isolated librmm installation and load check
ci/test_wheel.sh
Updates the SPDX header, creates and activates librmm-env, installs the librmm wheel with generated constraints, verifies librmm.load_library(), and deactivates the environment before the existing tests.

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

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: isolating the wheel smoke test for the library wheel.
Description check ✅ Passed The description matches the change by explaining the clean virtual environment and load_library smoke test.
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.
✨ 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.

Actionable comments posted: 2

🤖 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/test_wheel.sh`:
- Line 25: Update the Python validation command in ci/test_wheel.sh to
explicitly assert that librmm.load_library() succeeds rather than relying on its
return code; fail the command when the function returns None, while preserving
successful execution for a loaded native library.
- Line 17: Update the virtual-environment setup in ci/test_wheel.sh to use
python -m venv --clear librmm-env, preventing stale packages across reruns. In
the native-load validation command, explicitly assert that librmm.load_library()
returns a valid handle so a None result causes a nonzero exit status.
🪄 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: 624b1c83-073c-4917-a111-41c6088bed0a

📥 Commits

Reviewing files that changed from the base of the PR and between 576ce01 and a9245e6.

📒 Files selected for processing (1)
  • ci/test_wheel.sh

Comment thread ci/test_wheel.sh
Comment thread ci/test_wheel.sh Outdated
@bdice

bdice commented Jul 24, 2026

Copy link
Copy Markdown
Collaborator Author

/ok to test 56647ad

@bdice

bdice commented Jul 24, 2026

Copy link
Copy Markdown
Collaborator Author

/ok to test f4ff4fc

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

improvement Improvement / enhancement to an existing function non-breaking Non-breaking change

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

1 participant