|
13 | 13 | - "false" |
14 | 14 |
|
15 | 15 | jobs: |
16 | | - build_wheels: |
17 | | - # We'll build on a matrix of OSes and Python versions. |
18 | | - runs-on: ${{ matrix.os }} |
19 | | - strategy: |
20 | | - matrix: |
21 | | - os: [macOS-latest, ubuntu-latest, windows-latest] |
22 | | - env: |
23 | | - CIBW_BUILD: "cp39-* cp310-* cp311-* cp312-*" |
24 | | - CIBW_ENVIRONMENT: "PIP_NO_CACHE_DIR=1" |
25 | | - CIBW_BUILD_VERBOSITY: 3 |
26 | | - |
| 16 | + build_base_wheel: |
| 17 | + # Build the pure-Python wheel once (no platform matrix needed) |
| 18 | + runs-on: ubuntu-latest |
27 | 19 | steps: |
28 | 20 | - name: Check out code |
29 | 21 | uses: actions/checkout@v4 |
30 | 22 |
|
31 | 23 | - name: Install build dependencies |
32 | 24 | run: | |
33 | | - pip install --upgrade pip && pip install cibuildwheel twine |
| 25 | + pip install --upgrade pip && pip install build |
34 | 26 |
|
35 | | - - name: Upgrade pip, setuptools, wheel |
36 | | - run: python -m pip install --upgrade setuptools wheel |
| 27 | + - name: Build base wheel (pure-Python svv) |
| 28 | + run: python -m build --wheel --outdir dist |
37 | 29 |
|
38 | | - - name: Build wheels |
39 | | - run: cibuildwheel --output-dir dist |
40 | | - |
41 | | - - name: Upload artifacts |
| 30 | + - name: Upload base wheel artifact |
42 | 31 | uses: actions/upload-artifact@v4 |
43 | 32 | with: |
44 | | - name: cibw-wheels-${{ matrix.os }} |
45 | | - path: dist |
| 33 | + name: base-wheel |
| 34 | + path: dist/*.whl |
46 | 35 |
|
47 | 36 | build_wheels_accelerated: |
48 | 37 | runs-on: ${{ matrix.os }} |
|
74 | 63 | path: dist |
75 | 64 |
|
76 | 65 | build_sdist: |
77 | | - needs: [build_wheels] |
| 66 | + needs: [build_base_wheel] |
78 | 67 | runs-on: ubuntu-latest |
79 | 68 | steps: |
80 | 69 | - uses: actions/checkout@v4 |
|
92 | 81 | path: dist/*.tar.gz |
93 | 82 |
|
94 | 83 | upload_pypi: |
95 | | - needs: [build_wheels, build_wheels_accelerated, build_sdist] |
| 84 | + needs: [build_base_wheel, build_wheels_accelerated, build_sdist] |
96 | 85 | runs-on: ubuntu-latest |
97 | 86 | steps: |
98 | 87 | - uses: actions/download-artifact@v4 |
|
0 commit comments