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

   ## What
   
   Improvements to the `wheel-build.yml` workflow:
   
   - **`paths` filters** on `push`/`pull_request`: wheel builds only run when 
`qumat/**`, `qdp/**`, `pyproject.toml`, `uv.lock`, or the workflow itself 
changes. Website/docs-only PRs no longer trigger the expensive CUDA build. 
(`.asf.yaml` defines no required status checks, so skipped runs don't block 
PRs.)
   - **`concurrency` group**: pushing new commits to a PR cancels the 
superseded run; `main`/`workflow_dispatch` runs are never cancelled.
   - **Single build job instead of a 3-version matrix**: one maturin invocation 
builds all three interpreters (`-i python3.10 -i python3.11 -i python3.12`, 
same as the release workflow), so the CUDA toolkit and gcc-toolset are 
installed once instead of three times.
   - **Removed the silent `QDP_NO_CUDA` fallback**: previously, if the NVIDIA 
repo install failed, CI built a no-CUDA smoke wheel and uploaded it under the 
same artifact name with a green check. Now the job fails instead — green always 
means real kernels were compiled. Inspection of all recent runs with retained 
logs showed the fallback path has never actually fired; the CUDA repo install 
succeeds consistently.
   - **Artifact validation before upload**:
     - `twine check` on all distributions in both jobs
     - `import qumat` smoke test for the pure-Python wheel
     - each `qumat-qdp` wheel is installed into a matching per-version venv and 
the test asserts the Rust extension actually loads (`get_qdp() is not None`), 
guarding against the graceful-degradation path in `qumat_qdp/_backend.py` 
masking a broken extension. This is safe on GPU-less runners because cudarc 
loads CUDA libraries lazily at runtime.
   - **CUDA version defined once** at the top of the build script instead of 
hard-coded in five places.
   
   ## Notes
   
   - The qdp artifact is now a single `qumat-qdp-wheels` artifact containing 
all three wheels, instead of three `qumat-qdp-cpX.Y` artifacts.
   - `release.yml` is intentionally untouched.


-- 
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