ryankert01 opened a new pull request, #1413:
URL: https://github.com/apache/mahout/pull/1413

   ### Related Issues
   
   <!-- none -->
   
   ### Changes
   
   - [x] CI/CD pipeline
   
   ### Why
   
   The Python Testing workflow rebuilt the QDP extension independently in every
   matrix leg (3.10 / 3.11 / 3.12), compiling the same Rust code three times. 
The
   legs run in parallel, so this duplicated CI compute (billed minutes) without
   buying any wall-clock speedup.
   
   ### How
   
   - Add a `build` job that compiles the CPU / no-CUDA stub wheels for all
     supported interpreters **once** and uploads them as an artifact.
   - Rewire the `test` matrix to `needs: build`: it downloads the artifact and
     installs the wheel matching each leg's interpreter instead of recompiling.
   - `QDP_NO_CUDA=1` makes the stub build explicit, matching the prior per-leg
     behaviour (which fell back to stubs because `nvcc` is absent on the runner 
—
     see `qdp/qdp-core/build.rs` and `qdp/qdp-kernels/build.rs`).
   
   Net effect: the heavy non-pyo3 crates compile a single time instead of once 
per
   leg. The `rust-check` gate, the test environment setup, and the `pytest`
   invocation are otherwise unchanged. The CUDA wheel build in `wheel-build.yml`
   (used for distribution) is intentionally left as-is.
   
   Job graph: `rust-check → build → test (matrix)`.
   
   ## Checklist
   
   - [ ] Added or updated unit tests for all changes <!-- n/a: CI-only change 
-->
   - [ ] Added or updated documentation for all changes <!-- n/a -->
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to