3232 path : dist/*.tar.gz
3333
3434 build-wheels-standard :
35- name : Build standard wheels ( ${{ matrix.os }}, Python ${{ matrix.python-version }})
35+ name : Std ${{ matrix.os }} py ${{ matrix.python-version }}
3636 strategy :
3737 fail-fast : false
3838 matrix :
6868 path : dist/*.whl
6969
7070 build-wheels-mypyc :
71- name : Build MyPyC wheels ( ${{ matrix.os }}, Python ${{ matrix.python-version }})
71+ name : MyPyC ${{ matrix.os }} py ${{ matrix.python-version }}
7272 strategy :
7373 fail-fast : false
7474 matrix :
@@ -104,9 +104,9 @@ jobs:
104104 - name : Build MyPyC wheel
105105 run : uv build --wheel
106106 env :
107- HATCH_BUILD_HOOK_ENABLE_MYPYC : " 1"
107+ HATCH_BUILD_HOOKS_ENABLE : " 1"
108108
109- - name : Rename wheel to indicate mypyc
109+ - name : Rename wheel with mypyc tag
110110 run : |
111111 for wheel in dist/*.whl; do
112112 if [[ -f "$wheel" ]]; then
@@ -123,60 +123,9 @@ jobs:
123123 name : wheels-mypyc-${{ matrix.os }}-py${{ matrix.python-version }}
124124 path : dist/*.whl
125125
126- build-universal-wheels :
127- name : Build universal wheels with cibuildwheel
128- runs-on : ${{ matrix.os }}
129- strategy :
130- fail-fast : false
131- matrix :
132- os : [ubuntu-latest, windows-latest, macos-latest]
133- cibw_python : ["cp39", "cp310", "cp311", "cp312", "cp313"]
134- cibw_arch : ["x86_64", "aarch64", "arm64"]
135- exclude :
136- - os : ubuntu-latest
137- cibw_arch : arm64
138- - os : windows-latest
139- cibw_arch : aarch64
140- - os : windows-latest
141- cibw_arch : arm64
142- - os : macos-latest
143- cibw_arch : aarch64
144-
145- steps :
146- - name : Check out repository
147- uses : actions/checkout@v4
148-
149- - name : Set up QEMU (for ARM builds on Linux)
150- if : matrix.os == 'ubuntu-latest' && matrix.cibw_arch == 'aarch64'
151- uses : docker/setup-qemu-action@v3
152- with :
153- platforms : arm64
154-
155- - name : Build wheels with cibuildwheel
156- 157- env :
158- CIBW_BUILD : ${{ matrix.cibw_python }}-*
159- CIBW_ARCHS : ${{ matrix.cibw_arch }}
160- CIBW_BUILD_VERBOSITY : 2
161- CIBW_ENVIRONMENT : >
162- MYPYC_OPT_LEVEL=3
163- MYPYC_DEBUG_LEVEL=0
164- MYPYC_MULTI_FILE=1
165- HATCH_BUILD_HOOK_ENABLE_MYPYC=1
166- CIBW_BEFORE_BUILD : |
167- python -m pip install uv
168- uv sync --extra mypyc --group build
169- CIBW_BUILD_FRONTEND : " build[uv]"
170- CIBW_TEST_SKIP : " *"
171-
172- - name : Upload cibuildwheel artifacts
173- uses : actions/upload-artifact@v4
174- with :
175- name : wheels-cibw-${{ matrix.os }}-${{ matrix.cibw_python }}-${{ matrix.cibw_arch }}
176- path : wheelhouse/*.whl
177126
178127 test-wheels :
179- name : Test wheels on ${{ matrix.os }}
128+ name : Test ${{ matrix.os }} py ${{ matrix.python-version }}
180129 needs : [build-wheels-standard, build-wheels-mypyc]
181130 strategy :
182131 fail-fast : false
@@ -221,7 +170,7 @@ jobs:
221170
222171 publish-release :
223172 name : Publish to PyPI
224- needs : [build-source, build-wheels-standard, build-wheels-mypyc, build-universal-wheels, test-wheels]
173+ needs : [build-source, build-wheels-standard, build-wheels-mypyc, test-wheels]
225174 runs-on : ubuntu-latest
226175 permissions :
227176 id-token : write
0 commit comments