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]