@@ -48,21 +48,10 @@ jobs:
4848 path : dalla_data_processing/deduplication/bin/onion-*
4949 if-no-files-found : error
5050
51- build-wheels :
52- name : Build wheels on ${{ matrix.os }}
51+ build-wheel :
52+ name : Build universal wheel with all platform binaries
5353 needs : build-onion
54- runs-on : ${{ matrix.os }}
55- strategy :
56- matrix :
57- include :
58- - os : ubuntu-latest
59- onion_artifact : onion-linux-x86_64
60- - os : macos-13
61- onion_artifact : onion-darwin-x86_64
62- - os : macos-14
63- onion_artifact : onion-darwin-arm64
64- - os : windows-latest
65- onion_artifact : none
54+ runs-on : ubuntu-latest
6655
6756 steps :
6857 - uses : actions/checkout@v4
@@ -71,24 +60,30 @@ jobs:
7160
7261 - name : Create bin directory
7362 run : mkdir -p dalla_data_processing/deduplication/bin
74- shell : bash
7563
76- - name : Download Onion binary
77- if : matrix.onion_artifact != 'none'
64+ - name : Download Linux binary
65+ uses : actions/download-artifact@v4
66+ with :
67+ name : onion-linux-x86_64
68+ path : dalla_data_processing/deduplication/bin/
69+
70+ - name : Download macOS Intel binary
71+ uses : actions/download-artifact@v4
72+ with :
73+ name : onion-darwin-x86_64
74+ path : dalla_data_processing/deduplication/bin/
75+
76+ - name : Download macOS ARM binary
7877 uses : actions/download-artifact@v4
7978 with :
80- name : ${{ matrix.onion_artifact }}
79+ name : onion-darwin-arm64
8180 path : dalla_data_processing/deduplication/bin/
8281
8382 - name : Set binary permissions
84- if : matrix.onion_artifact != 'none'
8583 run : chmod +x dalla_data_processing/deduplication/bin/onion-*
86- shell : bash
8784
88- - name : List binary files
89- if : matrix.onion_artifact != 'none'
85+ - name : List all binaries
9086 run : ls -lah dalla_data_processing/deduplication/bin/
91- shell : bash
9287
9388 - name : Set up Python
9489 uses : actions/setup-python@v5
@@ -105,13 +100,16 @@ jobs:
105100
106101 - name : List wheel contents
107102 run : |
108- python -m zipfile -l dist/*.whl | head -50
103+ echo "=== Wheel contents (binaries) ==="
104+ python -m zipfile -l dist/*.whl | grep onion-
105+ echo "=== Wheel info ==="
106+ ls -lh dist/
109107
110- - name : Upload wheels
108+ - name : Upload wheel
111109 uses : actions/upload-artifact@v4
112110 with :
113- name : wheels-${{ matrix.os }}
114- path : dist/*
111+ name : wheel
112+ path : dist/*.whl
115113
116114 build-sdist :
117115 name : Build source distribution
@@ -140,16 +138,15 @@ jobs:
140138
141139 publish-pypi :
142140 name : Publish to PyPI
143- needs : [build-wheels , build-sdist]
141+ needs : [build-wheel , build-sdist]
144142 runs-on : ubuntu-latest
145143 environment : release
146144
147145 steps :
148- # Download all platform-specific wheels
146+ # Download the universal wheel with all platform binaries
149147 - uses : actions/download-artifact@v4
150148 with :
151- pattern : wheels-*
152- merge-multiple : true
149+ name : wheel
153150 path : dist/
154151
155152 - uses : actions/download-artifact@v4
@@ -173,7 +170,7 @@ jobs:
173170
174171 create-release :
175172 name : Create GitHub Release
176- needs : [build-wheels , build-sdist]
173+ needs : [build-wheel , build-sdist]
177174 runs-on : ubuntu-latest
178175
179176 steps :
@@ -183,8 +180,7 @@ jobs:
183180
184181 - uses : actions/download-artifact@v4
185182 with :
186- pattern : wheels-*
187- merge-multiple : true
183+ name : wheel
188184 path : dist/
189185
190186 - uses : actions/download-artifact@v4
0 commit comments