|
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 (pure-Python svv) |
39 | | - env: |
40 | | - # Ensure we do NOT build extensions for the main wheel |
41 | | - SVV_BUILD_EXTENSIONS: "0" |
42 | | - run: cibuildwheel --output-dir dist |
43 | | - |
44 | | - - name: Upload artifacts |
| 30 | + - name: Upload base wheel artifact |
45 | 31 | uses: actions/upload-artifact@v4 |
46 | 32 | with: |
47 | | - name: cibw-wheels-${{ matrix.os }} |
48 | | - path: dist |
| 33 | + name: base-wheel |
| 34 | + path: dist/*.whl |
49 | 35 |
|
50 | 36 | build_sdist: |
51 | | - needs: [build_wheels] |
| 37 | + needs: [build_base_wheel] |
52 | 38 | runs-on: ubuntu-latest |
53 | 39 | steps: |
54 | 40 | - uses: actions/checkout@v4 |
@@ -95,12 +81,13 @@ jobs: |
95 | 81 | path: dist |
96 | 82 |
|
97 | 83 | upload_testpypi_all: |
98 | | - needs: [build_wheels, build_wheels_accelerated, build_sdist] |
| 84 | + needs: [build_base_wheel, build_wheels_accelerated, build_sdist] |
99 | 85 | runs-on: ubuntu-latest |
100 | 86 | steps: |
101 | 87 | - uses: actions/download-artifact@v4 |
102 | 88 | with: |
103 | | - pattern: cibw-* |
| 89 | + # download all artifacts from previous jobs (base wheel, sdist, accelerated wheels) |
| 90 | + pattern: '*' |
104 | 91 | path: dist |
105 | 92 | merge-multiple: true |
106 | 93 | - name: Install twine |
|
0 commit comments