@@ -70,11 +70,11 @@ jobs:
7070
7171 - name : Build extension (macOS arm64)
7272 if : runner.os == 'macOS' && matrix.arch == 'arm64'
73- run : make extension RELEASE=1 EXTRA_INCLUDES="-I$HOMEBREW_PREFIX/include" EXTRA_LIBS="-L$HOMEBREW_PREFIX/lib"
73+ run : make extension RELEASE=1
7474
7575 - name : Build extension (macOS x86_64 cross-compile)
7676 if : runner.os == 'macOS' && matrix.arch == 'x86_64'
77- run : make extension RELEASE=1 CC="clang -arch x86_64" EXTRA_INCLUDES="-I$HOMEBREW_PREFIX/include" EXTRA_LIBS="-L$HOMEBREW_PREFIX/lib"
77+ run : make extension RELEASE=1 CC="clang -arch x86_64"
7878
7979 - name : Build extension (Windows)
8080 if : runner.os == 'Windows'
@@ -128,7 +128,7 @@ jobs:
128128 name : ${{ matrix.artifact-name }}
129129 path : build/${{ matrix.artifact-name }}
130130
131- # Build platform-specific wheels with bundled extensions
131+ # Build platform-specific Python wheels
132132 build-wheels :
133133 needs : build-and-test
134134 strategy :
@@ -137,13 +137,15 @@ jobs:
137137 - os : ubuntu-latest
138138 artifact : graphqlite-linux-x86_64.so
139139 extension : graphqlite.so
140+ wheel_tag : manylinux_2_17_x86_64.manylinux2014_x86_64
140141 - os : macos-14
141142 artifact : graphqlite-macos-arm64.dylib
142143 extension : graphqlite.dylib
143- # Note: macos-x86_64 wheel built on arm64 with universal tag
144+ wheel_tag : macosx_11_0_arm64
144145 - os : windows-latest
145146 artifact : graphqlite-windows-x86_64.dll
146147 extension : graphqlite.dll
148+ wheel_tag : win_amd64
147149
148150 runs-on : ${{ matrix.os }}
149151
@@ -173,10 +175,23 @@ jobs:
173175 working-directory : bindings/python
174176 run : python -m build --wheel
175177
178+ - name : Retag wheel with platform
179+ working-directory : bindings/python/dist
180+ run : |
181+ for whl in *.whl; do
182+ python -m wheel tags --platform-tag=${{ matrix.wheel_tag }} "$whl"
183+ rm "$whl"
184+ done
185+ shell : bash
186+
187+ - name : List wheels
188+ run : ls -la bindings/python/dist/
189+ shell : bash
190+
176191 - name : Upload wheel artifact
177192 uses : actions/upload-artifact@v4
178193 with :
179- name : wheel-${{ matrix.os }}
194+ name : wheel-${{ matrix.wheel_tag }}
180195 path : bindings/python/dist/*.whl
181196
182197 publish-python :
@@ -198,15 +213,15 @@ jobs:
198213 path : dist/
199214 merge-multiple : true
200215
201- - name : Install twine
202- run : pip install twine
216+ - name : Install build tools
217+ run : pip install build twine
203218
204219 - name : Build source distribution
205220 working-directory : bindings/python
206- run : |
207- pip install build
208- python -m build --sdist
209- cp dist/*.tar.gz ../../ dist/
221+ run : python -m build --sdist
222+
223+ - name : Copy sdist to dist
224+ run : cp bindings/python/ dist/*.tar.gz dist/
210225
211226 - name : List distributions
212227 run : ls -la dist/
0 commit comments