Skip to content

Commit 833258c

Browse files
author
Dylan Storey
committed
Fix release workflow: build pure Python wheel without bundled extensions
1 parent 8cbbbd2 commit 833258c

File tree

1 file changed

+26
-11
lines changed

1 file changed

+26
-11
lines changed

.github/workflows/release.yml

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)