Skip to content

test rapids build backend#639

Merged
Intron7 merged 7 commits into
mainfrom
rapids-build-system
Apr 27, 2026
Merged

test rapids build backend#639
Intron7 merged 7 commits into
mainfrom
rapids-build-system

Conversation

@Intron7
Copy link
Copy Markdown
Member

@Intron7 Intron7 commented Apr 26, 2026

No description provided.

@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Apr 26, 2026

⚠️ JUnit XML file not found

The CLI was unable to find any JUnit XML files to upload.
For more help, visit our troubleshooting guide.

@Intron7
Copy link
Copy Markdown
Member Author

Intron7 commented Apr 26, 2026

@coderabbitai review

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 26, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 26, 2026

📝 Walkthrough

Summary by CodeRabbit

  • New Features

    • Switched to RAPIDS build backend for automatic CUDA-suffixed wheel packaging and centralized dependency management.
  • Documentation

    • Updated installation and contribution guides to reflect simplified CUDA dependency handling.
  • Chores

    • Updated Python runtime version to 3.14 across CI and conda environments.

Walkthrough

The pull request migrates the build backend from scikit_build_core to rapids_build_backend, introducing a new dependencies.yaml for RAPIDS dependency management. Python version requirements are updated from 3.13 to 3.14 across CI and conda environments. The CI workflow removes inline CUDA-specific package mutation logic, delegating this responsibility to the build backend.

Changes

Cohort / File(s) Summary
Build System Migration
pyproject.toml
Switches PEP 517 backend from scikit_build_core.build to rapids_build_backend.build; moves nanobind and setuptools-scm to backend-specific config; simplifies optional dependencies by removing CUDA-specific extras and replacing with empty rapids placeholder.
Workflow Restructuring
.github/workflows/publish.yml
Removes inline pyproject.toml mutation logic for CUDA versioning; shifts wheel builds to use CIBW_CONFIG_SETTINGS for CUDA architectures and explicit RAPIDS_DISABLE_CUDA=false; deepens git checkout for sdist with RAPIDS_DISABLE_CUDA=true.
Dependencies Configuration
dependencies.yaml
New file mapping rapids optional extra with CUDA-specific dependency matrices (12.\* and 13.\*) installing cupy-cuda{12,13}x and RAPIDS components (cudf, cuml, cugraph, cuvs) with >=25.10 minimum version.
Python Version Updates
ci/environment.yml, ci/environment_alpha.yml, conda/rsc_rapids_26.04_cuda12.yml, conda/rsc_rapids_26.04_cuda13.yml
Update Python runtime requirement from 3.13 to 3.14 in conda environment definitions.
Test Configuration
hatch.toml
Shifts CUDA selection mechanism from feature-based (rapids-cu12/rapids-cu13) to direct extra-dependencies approach with cupy-cuda{12,13}x packages alongside RAPIDS extras.
Documentation Updates
docs/contributing.md, docs/installation.md, docs/release-notes/0.15.0rc6.md, docs/release-notes/index.md
Updates Python version labels from 3.13 to 3.14; replaces wheel packaging documentation from inline CI script to RAPIDS build backend; revises source installation guidance for RAPIDS dependencies; adds release notes entry for version 0.15.0rc6.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Description check ⚠️ Warning No pull request description was provided by the author, making it impossible to assess whether any description exists that relates to the changeset. Add a pull request description that explains the migration to rapids-build-backend, the changes to build configuration, Python version updates, and the rationale for these changes.
Title check ❓ Inconclusive The title 'test rapids build backend' is vague and uses generic phrasing that doesn't clearly convey the actual significant changes being made to the build system. Revise the title to be more specific about the primary change, such as 'Switch to rapids-build-backend for wheel building' or 'Migrate build system to rapids-build-backend with dependencies.yaml'.
✅ Passed checks (3 passed)
Check name Status Explanation
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
  • Commit unit tests in branch rapids-build-system

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
dependencies.yaml (1)

16-31: Optional: consider upper bounds on the published rapids extra.

The development pins in hatch.toml use <26.8 for cudf/cuml/cugraph/cuvs, but the user-facing extra generated from this file uses only >=25.10 with no upper bound, and cupy-cuda{12,13}x is fully unpinned. If RAPIDS 26.x introduces breaking API changes to cudf/cuml/cugraph/cuvs (or cupy ships a new major), pip install rapids-singlecell[rapids] --extra-index-url … could resolve to versions that haven't been validated against this release.

Mirroring the hatch upper bound (or at least bounding the next major) would keep the published extra aligned with what's actually being tested.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@dependencies.yaml` around lines 16 - 31, The published extra currently uses
open-ended pins for cupy-cuda12x/cupy-cuda13x and uses lower bounds only for
cudf-cu12/cudf-cu13, cuml-cu12/cuml-cu13, cugraph-cu12/cugraph-cu13,
cuvs-cu12/cuvs-cu13; update the matrix package entries to include an upper bound
that mirrors the hatch dev pin (e.g. <26.8 or at least <27.0) for
cudf/cuml/cugraph/cuvs and add a bounded pin or major-only upper bound for
cupy-cuda12x/cupy-cuda13x so the rapids extra resolves to tested major versions
(refer to the package names in the matrix blocks: cupy-cuda12x, cupy-cuda13x,
cudf-cu12, cuml-cu12, cugraph-cu12, cuvs-cu12 and their -cu13 variants).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@dependencies.yaml`:
- Around line 16-31: The published extra currently uses open-ended pins for
cupy-cuda12x/cupy-cuda13x and uses lower bounds only for cudf-cu12/cudf-cu13,
cuml-cu12/cuml-cu13, cugraph-cu12/cugraph-cu13, cuvs-cu12/cuvs-cu13; update the
matrix package entries to include an upper bound that mirrors the hatch dev pin
(e.g. <26.8 or at least <27.0) for cudf/cuml/cugraph/cuvs and add a bounded pin
or major-only upper bound for cupy-cuda12x/cupy-cuda13x so the rapids extra
resolves to tested major versions (refer to the package names in the matrix
blocks: cupy-cuda12x, cupy-cuda13x, cudf-cu12, cuml-cu12, cugraph-cu12,
cuvs-cu12 and their -cu13 variants).

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: bec9e135-bf96-42e5-b1f4-bc01bc384e37

📥 Commits

Reviewing files that changed from the base of the PR and between 39f2ebf and 1a665f5.

📒 Files selected for processing (12)
  • .github/workflows/publish.yml
  • ci/environment.yml
  • ci/environment_alpha.yml
  • conda/rsc_rapids_26.04_cuda12.yml
  • conda/rsc_rapids_26.04_cuda13.yml
  • dependencies.yaml
  • docs/contributing.md
  • docs/installation.md
  • docs/release-notes/0.15.0rc6.md
  • docs/release-notes/index.md
  • hatch.toml
  • pyproject.toml

@Intron7 Intron7 marked this pull request as ready for review April 26, 2026 22:55
@Intron7 Intron7 merged commit 11dc1d7 into main Apr 27, 2026
9 of 11 checks passed
@Intron7 Intron7 deleted the rapids-build-system branch April 27, 2026 10:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants