ci: configure the CUDA manylinux images in pyproject.toml #455
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Wheels | |
| on: | |
| workflow_dispatch: | |
| pull_request: | |
| push: | |
| branches: | |
| - master | |
| release: | |
| types: | |
| - published | |
| env: | |
| FORCE_COLOR: 3 | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| build_sdist: | |
| name: Build SDist | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Build SDist | |
| run: pipx run build --sdist | |
| - name: Check metadata | |
| run: pipx run twine check dist/* | |
| - uses: actions/upload-artifact@v7 | |
| with: | |
| name: cibw-sdist | |
| path: dist/*.tar.gz | |
| build_wheels: | |
| name: Wheels on ${{ matrix.arch }} | |
| runs-on: ${{ matrix.runner }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - arch: x86_64 | |
| runner: ubuntu-24.04 | |
| - arch: aarch64 | |
| runner: ubuntu-24.04-arm | |
| steps: | |
| - uses: actions/checkout@v6 | |
| # The CUDA manylinux images (with nvcc) are configured in pyproject.toml. | |
| # Override them with CIBW_MANYLINUX_*_IMAGE here to target a different CUDA | |
| # version (see the README). | |
| - uses: pypa/cibuildwheel@v3.4 | |
| - name: Verify clean directory | |
| run: git diff --exit-code | |
| shell: bash | |
| - uses: actions/upload-artifact@v7 | |
| with: | |
| name: cibw-wheels-${{ matrix.arch }} | |
| path: wheelhouse/*.whl | |
| upload_all: | |
| name: Upload if release | |
| needs: [build_wheels, build_sdist] | |
| runs-on: ubuntu-latest | |
| if: github.event_name == 'release' && github.event.action == 'published' | |
| environment: pypi | |
| permissions: | |
| id-token: write | |
| attestations: write | |
| steps: | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.x" | |
| - uses: actions/download-artifact@v8 | |
| with: | |
| pattern: cibw-* | |
| merge-multiple: true | |
| path: dist | |
| - name: Generate artifact attestation for sdist and wheels | |
| uses: actions/attest-build-provenance@v4 | |
| with: | |
| subject-path: "dist/*" | |
| - uses: pypa/gh-action-pypi-publish@release/v1 |