@@ -93,30 +93,29 @@ jobs:
93
93
# https://github.com/github/feedback/discussions/7835#discussioncomment-1769026
94
94
buildplat :
95
95
- [ubuntu-24.04, manylinux_x86_64]
96
- # - [ubuntu-24.04, musllinux_x86_64]
97
- # - [ubuntu-24.04-arm, manylinux_aarch64]
98
- # - [ubuntu-24.04-arm, musllinux_aarch64]
99
- # - [macos-13, macosx_x86_64]
100
- # # Note: M1 images on Github Actions start from macOS 14
101
- # - [macos-14, macosx_arm64]
102
- # - [windows-2022, win_amd64]
103
- # - [windows-11-arm, win_arm64]
96
+ - [ubuntu-24.04, musllinux_x86_64]
97
+ - [ubuntu-24.04-arm, manylinux_aarch64]
98
+ - [ubuntu-24.04-arm, musllinux_aarch64]
99
+ - [macos-13, macosx_x86_64]
100
+ # Note: M1 images on Github Actions start from macOS 14
101
+ - [macos-14, macosx_arm64]
102
+ - [windows-2022, win_amd64]
103
+ - [windows-11-arm, win_arm64]
104
104
# TODO: support PyPy?
105
- # python: [["cp310", "3.10"], ["cp311", "3.11"], ["cp312", "3.12"], ["cp313", "3.13"], ["cp313t", "3.13"]]
106
- python : [["cp312", "3.12"]]
105
+ python : [["cp310", "3.10"], ["cp311", "3.11"], ["cp312", "3.12"], ["cp313", "3.13"], ["cp313t", "3.13"]]
107
106
include :
108
107
# Build Pyodide wheels and upload them to Anaconda.org
109
108
# NOTE: this job is similar to the one in unit-tests.yml except for the fact
110
109
# that it uses cibuildwheel instead of a standard Pyodide xbuildenv setup.
111
110
- buildplat : [ubuntu-24.04, pyodide_wasm32]
112
111
python : ["cp312", "3.12"]
113
112
cibw_build_frontend : ' build'
114
- # exclude:
115
- # - buildplat: [windows-11-arm, win_arm64]
116
- # python: ["cp310", "3.10"]
117
- # # BackendUnavailable: Cannot import 'mesonpy'
118
- # - buildplat: [windows-11-arm, win_arm64]
119
- # python: ["cp313t", "3.13"]
113
+ exclude :
114
+ - buildplat : [windows-11-arm, win_arm64]
115
+ python : ["cp310", "3.10"]
116
+ # BackendUnavailable: Cannot import 'mesonpy'
117
+ - buildplat : [windows-11-arm, win_arm64]
118
+ python : ["cp313t", "3.13"]
120
119
121
120
env :
122
121
IS_PUSH : ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') }}
@@ -127,11 +126,11 @@ jobs:
127
126
with :
128
127
fetch-depth : 0
129
128
130
- # - name: Set up MSVC environment for ARM64
131
- # if: matrix.buildplat[1] == 'win_arm64'
132
- # uses: ilammy/msvc-dev-cmd@v1
133
- # with:
134
- # arch: arm64
129
+ - name : Set up MSVC environment for ARM64
130
+ if : matrix.buildplat[1] == 'win_arm64'
131
+ uses : ilammy/msvc-dev-cmd@v1
132
+ with :
133
+ arch : arm64
135
134
136
135
# TODO: Build wheels from sdist again
137
136
# There's some sort of weird race condition?
@@ -171,7 +170,7 @@ jobs:
171
170
CIBW_BUILD : ${{ matrix.python[0] }}-${{ matrix.buildplat[1] }}
172
171
CIBW_BUILD_FRONTEND : ${{ matrix.cibw_build_frontend || 'pip' }}
173
172
CIBW_PLATFORM : ${{ (matrix.buildplat[1] == 'pyodide_wasm32' && 'pyodide') || (matrix.buildplat[1] == 'win_arm64' && 'windows') || 'auto' }}
174
- # CIBW_ARCHS: ${{ matrix.buildplat[1] == 'win_arm64' && 'ARM64' || 'auto' }}
173
+ CIBW_ARCHS : ${{ matrix.buildplat[1] == 'win_arm64' && 'ARM64' || 'auto' }}
175
174
CIBW_BEFORE_BUILD_WINDOWS : ' python -m pip install delvewheel'
176
175
177
176
- name : Set up Python for validation/upload (non-ARM64 Windows & other OS)
@@ -189,11 +188,11 @@ jobs:
189
188
cache-downloads : true
190
189
cache-environment : true
191
190
192
- # - name: Install wheel for win_arm64
193
- # # installing wheel here because micromamba step was skipped
194
- # if: matrix.buildplat[1] == 'win_arm64'
195
- # shell: bash -el {0}
196
- # run: python -m pip install wheel
191
+ - name : Install wheel for win_arm64
192
+ # installing wheel here because micromamba step was skipped
193
+ if : matrix.buildplat[1] == 'win_arm64'
194
+ shell : bash -el {0}
195
+ run : python -m pip install wheel
197
196
198
197
- name : Validate wheel RECORD
199
198
shell : bash -el {0}
@@ -220,55 +219,3 @@ jobs:
220
219
source ci/upload_wheels.sh
221
220
set_upload_vars
222
221
upload_wheels
223
-
224
- # ---------------------------------------------------------------
225
- # PUBLISH – upload all wheels & sdist to Test PyPI via OIDC
226
- # ---------------------------------------------------------------
227
- publish :
228
- if : github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
229
- needs :
230
- - build_sdist
231
- - build_wheels
232
- runs-on : ubuntu-latest
233
-
234
- # ---------- current TEST settings ----------
235
- environment :
236
- name : testpypi # keep while testing
237
- # ---------- FINAL settings (uncomment) ----------
238
- # environment:
239
- # name: pypi # ← enable for PyPI
240
-
241
- permissions :
242
- id-token : write # OIDC token for Trusted Publishing
243
- contents : read
244
-
245
- steps :
246
- # 1. Pull every artifact produced by the two upstream jobs
247
- - name : Download all artifacts
248
- uses : actions/download-artifact@v4
249
- with :
250
- path : dist # all files land in ./dist/**
251
-
252
- # 2. Move wheels & sdist into a flat 'upload' dir (skip Pyodide wheels)
253
- - name : Collect files
254
- run : |
255
- mkdir -p upload
256
- # skip anything containing 'pyodide' in the filename
257
- find dist -name '*pyodide*.whl' -prune -o \
258
- -name '*.whl' -exec mv {} upload/ \;
259
- find dist -name '*.tar.gz' -exec mv {} upload/ \;
260
-
261
- # 3. Publish to TestPyPI using Trusted Publishing
262
- - name : Publish to TestPyPI (Trusted Publishing)
263
- uses : pypa/gh-action-pypi-publish@release/v1
264
- with :
265
- repository-url : https://test.pypi.org/legacy/ # test endpoint
266
- packages-dir : upload
267
- skip-existing : true
268
-
269
- # ---------- FINAL publish block (uncomment, remove test one above) ----------
270
- # - name: Publish to PyPI (Trusted Publishing) # ← enable for PyPI
271
- # uses: pypa/gh-action-pypi-publish@release/v1
272
- # with:
273
- # repository-url: https://upload.pypi.org/legacy/ # ← production endpoint
274
- # packages-dir: upload
0 commit comments