@@ -120,8 +120,9 @@ jobs:
120
120
run : |
121
121
python3 -m cibuildwheel --output-dir wheelhouse
122
122
123
- - uses : actions/upload-artifact@v2
123
+ - uses : actions/upload-artifact@v4
124
124
with :
125
+ name : wheels-${{ matrix.os }}-${{ matrix.platform }}
125
126
path : ./wheelhouse/*.whl
126
127
127
128
build_sdist :
@@ -141,10 +142,49 @@ jobs:
141
142
142
143
- uses : actions/upload-artifact@v4
143
144
with :
145
+ name : source-dist
144
146
path : dist/*.tar.gz
145
147
148
+ build_wheels_extra_arch :
149
+ if : " (!contains(github.event.pull_request.labels.*.name, 'disable-test-build'))|| github.event_name == 'push' && endsWith(github.event.ref, 'scylla')"
150
+ # The host should always be linux
151
+ runs-on : ubuntu-latest
152
+ name : Build extra arch ${{ matrix.archs }} wheels
153
+ strategy :
154
+ fail-fast : false
155
+ matrix :
156
+ archs : [ aarch64,] # ppc64le ]
157
+
158
+ steps :
159
+ - uses : actions/checkout@v4
160
+
161
+ - name : Set up QEMU
162
+ id : qemu
163
+ uses : docker/setup-qemu-action@v3
164
+ with :
165
+ platforms : all
166
+ if : runner.os == 'Linux'
167
+
168
+ - uses : actions/setup-python@v5
169
+ name : Install Python
170
+
171
+ - name : Install cibuildwheel
172
+ run : |
173
+ python -m pip install cibuildwheel==2.16.2
174
+
175
+ - name : Build wheels
176
+ env :
177
+ CIBW_BUILD : " cp39* cp310* cp311* cp312*" # limit to specific version since it take much more time than jobs limit
178
+ run : |
179
+ python -m cibuildwheel --archs ${{ matrix.archs }} --output-dir wheelhouse
180
+
181
+ - uses : actions/upload-artifact@v4
182
+ with :
183
+ name : wheels-${{ matrix.archs }}
184
+ path : ./wheelhouse/*.whl
185
+
146
186
upload_pypi :
147
- needs : [build_wheels, build_sdist]
187
+ needs : [build_wheels, build_wheels_extra_arch, build_sdist]
148
188
runs-on : ubuntu-latest
149
189
# upload to PyPI on every tag starting with 'v'
150
190
if : github.event_name == 'push' && endsWith(github.event.ref, 'scylla')
@@ -153,10 +193,10 @@ jobs:
153
193
steps :
154
194
- uses : actions/download-artifact@v4
155
195
with :
156
- name : artifact
157
196
path : dist
197
+ merge-multiple : true
158
198
159
- - uses : pypa/gh-action-pypi-publish@master
199
+ - uses : pypa/gh-action-pypi-publish@release/v1
160
200
with :
161
- user : __token__
201
+ skip-existing : true
162
202
password : ${{ secrets.PYPI_API_TOKEN }}
0 commit comments