wheel builds: react to changes in pip's handling of build constraints#386
Conversation
Greptile SummaryThis PR adapts the wheel build scripts to work with pip 25.3+, which changed how build constraints are handled. The main change refactors Key changes:
Confidence Score: 4/5
Important Files Changed
Sequence DiagramsequenceDiagram
participant Wrapper as build_wheel_*.sh
participant RapidsInit as rapids-init-pip
participant BuildScript as build_wheel.sh
participant Pip as pip wheel
Wrapper->>RapidsInit: source rapids-init-pip
RapidsInit->>RapidsInit: Set PIP_CONSTRAINT env var
Wrapper->>BuildScript: Call ./ci/build_wheel.sh
BuildScript->>BuildScript: Capture PIP_CONSTRAINT in RAPIDS_PIP_WHEEL_ARGS
BuildScript->>BuildScript: unset PIP_CONSTRAINT
Note over BuildScript: Prevents conflict in pip 25.3+
BuildScript->>Pip: rapids-pip-retry wheel --build-constraint="${PIP_CONSTRAINT}"
Pip->>Pip: Build wheel with constraints
Pip-->>BuildScript: Return built wheel
BuildScript->>BuildScript: Run auditwheel repair (if needed)
|
Greptile found no issues!From now on, if a review finishes and we haven't found any issues, we will not post anything, but you can confirm that we reviewed your changes in the status check section. This feature can be toggled off in your Code Review Settings by deselecting "Create a status check for each PR". |
jameslamb
left a comment
There was a problem hiding this comment.
Similar to rapidsai/cugraph#5399 (review)... we should also update comments like this, which are now inaccurate
Using the same language that was checked into RMM: https://github.com/rapidsai/rmm/pull/2212/files#diff-616eb8e64286a9a59a2cd9c77d817fba66ce78ecfdde635db9f4028b74349585R25
I see comments like those in a couple scripts here.
|
Ah, yes. Thanks! |
|
/merge |
Followup to #182, related to #386 (review) Proposes using `--no-build-isolation` for `libwholegraph` wheel builds. `--no-build-isolation` preserves all of the source file paths, which should lead to better `sccache` hit rate and faster builds. All of the other `lib{something}` wheels in RAPIDS are built this way, see rapidsai/build-planning#108 Also switches `cugraph-pyg` builds to smaller runners (cpu4). That's a pure-Python package that shouldn't need many resources to build. Authors: - James Lamb (https://github.com/jameslamb) Approvers: - Bradley Dice (https://github.com/bdice) URL: #388
Description
Contributes to rapidsai/build-planning#242
Modifying
ci/build_wheel.shto--build-constraint="${PIP_CONSTRAINT}"unconditionallyPIP_CONSTRAINT(set by rapids-init-pip)... it doesn't affect builds as of pip 25.3, and results in an error frompip wheelwhen set and--build-constraintis also passed