Full CI support for public builds + switch to use cibuildwheel#267
Full CI support for public builds + switch to use cibuildwheel#267leofang merged 65 commits intoNVIDIA:mainfrom
Conversation
|
/ok to test |
|
/ok to test |
|
/ok to test |
|
/ok to test |
|
/ok to test |
|
/ok to test |
|
/ok to test |
|
/ok to test |
|
/ok to test |
|
/ok to test |
|
/ok to test |
|
/ok to test |
|
/ok to test |
| PARALLEL_LEVEL=${{ env.PARALLEL_LEVEL }} | ||
| CIBW_ENVIRONMENT_WINDOWS: > | ||
| CUDA_HOME="$(cygpath -w $(realpath ./cuda_toolkit))" | ||
| # PARALLEL_LEVEL=${{ env.PARALLEL_LEVEL }} |
There was a problem hiding this comment.
Note: This was commented out because of #271.
| # WAR: setup-python is not relocatable... | ||
| # see https://github.com/actions/setup-python/issues/871 | ||
| - name: Set up Python ${{ inputs.python-version }} | ||
| if: ${{ startsWith(inputs.host-platform, 'linux') }} | ||
| id: setup-python | ||
| uses: actions/setup-python@v5 | ||
| with: | ||
| python-version: "3.12" |
There was a problem hiding this comment.
Technically we don't need this step. However, because actions/setup-python is not relocatable (its RPATH is hard-wired, see actions/setup-python#871), on a self-hosted runner cibuildwheels cannot properly load libpython3.12. This is a WAR by forcing the same Python version installed on the host (and mounted into the container).
|
Last comment I think: Perhaps we should squash these commits. Not hellbent on this |
|
/ok to test |
Yes when we merge there's a drop-down menu to select merge or squash. |
|
ahh, that option is grayed out for me on this project |
|
@ksimpson-work is it still grey after you approved it? |
|
No, I noticed it when I went to merge my own PRs. I'll take a screenshot next time, unless I was hallucinating |
|
Let's merge! Thanks for quick reviews @ksimpson-work! |
Close #227. Part of #81.
The earlier build pipeline was deficient because
This PR switches to use public GHA workflows. Most steps are meant to be easily reusable (after some tweaking/refactoring) by other Python/CUDA projects, either first-party or third-party. For example,
cibuildwheelshas been used to offer guarantee to manylinux. It also lays the ground work for later bring-up of the CI test stage. (This PR only covers the build stage.)As of commit 0d554f0, we can build all needed wheels using GHA now! 🎉
cuda.bindingscuda.coreThe artifacts are available here for inspection: https://github.com/NVIDIA/cuda-python/actions/runs/12192916020