@@ -16,12 +16,12 @@ jobs:
1616 with :
1717 submodules : ' true'
1818
19- - uses : actions/setup-python@v5
19+ - uses : actions/setup-python@v6
2020
2121 - name : Install dependencies
2222 run : |
2323 python -m pip install --upgrade pip
24- pip install pytest hypothesis mypy Cython==3.0.12
24+ pip install pytest hypothesis mypy Cython==3.1.6
2525
2626 # The cythonized files allow installation from the sdist without cython
2727 - name : Generate cython
@@ -45,85 +45,77 @@ jobs:
4545 run : |
4646 tools/seg_wrapper.sh pytest tests
4747
48- - uses : actions/upload-artifact@v4
48+ - uses : actions/upload-artifact@v5
4949 with :
5050 name : artifact-sdist
5151 path : dist/*.tar.gz
5252
5353 build_wheels_windows :
54- name : Build wheel on windows-latest/ ${{matrix.arch }}/${{matrix.python_tag}}
54+ name : Build wheel on ${{ matrix.os }}/auto
5555 needs : [build_sdist]
56- runs-on : windows-latest
56+ runs-on : ${{ matrix.os }}
5757 strategy :
5858 fail-fast : false
5959 matrix :
60- arch : [auto32, auto64, ARM64 ]
60+ os : [windows-latest, windows-11-arm ]
6161 env :
62- CIBW_ARCHS : ${{matrix.arch}}
6362 CIBW_TEST_SKIP : " *-win32"
64- CIBW_TEST_REQUIRES : pytest hypothesis
65- CIBW_TEST_COMMAND : pytest {package}/tests
6663 CIBW_BUILD_VERBOSITY : 3
67- CIBW_PROJECT_REQUIRES_PYTHON : " >=3.9"
6864
6965 steps :
70- - uses : actions/download-artifact@v4
66+ - uses : actions/download-artifact@v6
7167 with :
7268 name : artifact-sdist
7369 path : dist
7470
75- - uses : actions/setup-python@v5
71+ - uses : actions/setup-python@v6
7672
7773 - name : Copy wheel
78- run : cp dist/*.tar.gz rapidfuzz .tar.gz
74+ run : cp dist/*.tar.gz levenshtein .tar.gz
7975
8076 - name : Build wheels
81- uses : pypa/cibuildwheel@v2.23
77+ uses : pypa/cibuildwheel@v3.2.1
8278 with :
83- package-dir : rapidfuzz .tar.gz
79+ package-dir : levenshtein .tar.gz
8480 output-dir : wheelhouse
8581
8682 - name : Upload wheels
87- uses : actions/upload-artifact@v4
83+ uses : actions/upload-artifact@v5
8884 with :
8985 name : artifact-${{ github.job }}-${{ strategy.job-index }}
9086 path : ./wheelhouse/*.whl
9187
9288 build_wheels_macos :
93- name : Build wheel on macos-latest/ ${{matrix.arch }}/${{matrix.python_tag}}
89+ name : Build wheel on ${{ matrix.os }}/auto
9490 needs : [build_sdist]
9591 runs-on : ${{ matrix.os }}
9692 strategy :
9793 fail-fast : false
9894 matrix :
99- os : [macos-13 , macos-14]
95+ os : [macos-15-intel , macos-14]
10096 env :
101- CIBW_ARCHS : native
10297 CIBW_TEST_SKIP : " pp*-macosx_*"
103- CIBW_TEST_REQUIRES : pytest hypothesis
104- CIBW_TEST_COMMAND : pytest {package}/tests
10598 CIBW_BUILD_VERBOSITY : 3
106- CIBW_PROJECT_REQUIRES_PYTHON : " >=3.9"
10799
108100 steps :
109- - uses : actions/download-artifact@v4
101+ - uses : actions/download-artifact@v6
110102 with :
111103 name : artifact-sdist
112104 path : dist
113105
114- - uses : actions/setup-python@v5
106+ - uses : actions/setup-python@v6
115107
116108 - name : Copy wheel
117- run : cp dist/*.tar.gz rapidfuzz .tar.gz
109+ run : cp dist/*.tar.gz levenshtein .tar.gz
118110
119111 - name : Build wheels
120- uses : pypa/cibuildwheel@v2.23
112+ uses : pypa/cibuildwheel@v3.2.1
121113 with :
122- package-dir : rapidfuzz .tar.gz
114+ package-dir : levenshtein .tar.gz
123115 output-dir : wheelhouse
124116
125117 - name : Upload wheels
126- uses : actions/upload-artifact@v4
118+ uses : actions/upload-artifact@v5
127119 with :
128120 name : artifact-${{ github.job }}-${{ strategy.job-index }}
129121 path : ./wheelhouse/*.whl
@@ -135,66 +127,89 @@ jobs:
135127 strategy :
136128 fail-fast : false
137129 matrix :
138- arch : [auto, aarch64, ppc64le, s390x]
139- python_tag : ["cp39-*", "cp310-*", "cp311-*", "cp312-*", "cp313-*", "pp39-*", "pp310-*", "pp311-*"]
140- exclude :
141- # PyPy builds not supported on ppc64le / s390x
142- - arch : ppc64le
143- python_tag : " pp39-*"
144- - arch : ppc64le
145- python_tag : " pp310-*"
146- - arch : ppc64le
147- python_tag : " pp311-*"
148- - arch : s390x
149- python_tag : " pp39-*"
150- - arch : s390x
151- python_tag : " pp310-*"
152- - arch : s390x
153- python_tag : " pp311-*"
130+ arch : [auto, ppc64le, s390x]
131+ python_tag : ["cp310-*", "cp311-*", "cp312-*", "cp313-*", "cp314-*"]
154132 env :
155133 CIBW_ARCHS_LINUX : ${{matrix.arch}}
156134 CIBW_BUILD : ${{matrix.python_tag}}
157- CIBW_TEST_SKIP : " {*-manylinux_{aarch64,ppc64le,s390x},*musllinux_*}"
158- CIBW_TEST_REQUIRES : pytest hypothesis
159- CIBW_TEST_COMMAND : pytest {package}/tests
135+ CIBW_TEST_SKIP : " {*_{aarch64,ppc64le,s390x},*musllinux_*}"
160136 CIBW_BUILD_VERBOSITY : 3
161137
162138 steps :
163- - uses : actions/download-artifact@v4
139+ - uses : actions/download-artifact@v6
164140 with :
165141 name : artifact-sdist
166142 path : dist
167143
168- - uses : actions/setup-python@v5
144+ - uses : actions/setup-python@v6
169145
170146 - name : Copy wheel
171- run : cp dist/*.tar.gz rapidfuzz .tar.gz
147+ run : cp dist/*.tar.gz levenshtein .tar.gz
172148
173149 - uses : docker/setup-qemu-action@v3
174150 name : Set up QEMU
175151
176152 - name : Build wheel
177- uses : pypa/cibuildwheel@v2.23
153+ uses : pypa/cibuildwheel@v3.2.1
154+ with :
155+ package-dir : levenshtein.tar.gz
156+ output-dir : wheelhouse
157+
158+ - name : Upload wheels
159+ uses : actions/upload-artifact@v5
160+ with :
161+ name : artifact-${{ github.job }}-${{ strategy.job-index }}
162+ path : ./wheelhouse/*.whl
163+
164+ build_wheels_linux_arm :
165+ name : Build wheels on ubuntu-24.04-arm/${{matrix.arch}}/${{matrix.python_tag}}
166+ needs : [build_sdist]
167+ runs-on : ubuntu-24.04-arm
168+ strategy :
169+ fail-fast : false
170+ matrix :
171+ arch : [aarch64, armv7l]
172+ python_tag : ["cp310-*", "cp311-*", "cp312-*", "cp313-*", "cp314-*"]
173+ env :
174+ CIBW_ARCHS_LINUX : ${{matrix.arch}}
175+ CIBW_BUILD : ${{matrix.python_tag}}
176+ CIBW_TEST_SKIP : " {*_{aarch64,ppc64le,s390x},*musllinux_*}"
177+ CIBW_BUILD_VERBOSITY : 3
178+
179+ steps :
180+ - uses : actions/download-artifact@v6
181+ with :
182+ name : artifact-sdist
183+ path : dist
184+
185+ - uses : actions/setup-python@v6
186+
187+ - name : Copy wheel
188+ run : cp dist/*.tar.gz levenshtein.tar.gz
189+
190+ - name : Build wheel
191+ uses : pypa/cibuildwheel@v3.2.1
178192 with :
179- package-dir : rapidfuzz .tar.gz
193+ package-dir : levenshtein .tar.gz
180194 output-dir : wheelhouse
181195
182196 - name : Upload wheels
183- uses : actions/upload-artifact@v4
197+ uses : actions/upload-artifact@v5
184198 with :
185199 name : artifact-${{ github.job }}-${{ strategy.job-index }}
186200 path : ./wheelhouse/*.whl
187201
202+
188203 deploy-wheels :
189204 if : github.event_name == 'release' && github.event.action == 'published'
190- needs : [build_wheels_windows, build_wheels_macos, build_wheels_linux, build_sdist]
205+ needs : [build_wheels_windows, build_wheels_macos, build_wheels_linux, build_wheels_arm, build_sdist]
191206 name : deploy wheels to pypi
192207 runs-on : ubuntu-latest
193208 environment : pypi-release
194209 permissions :
195210 id-token : write
196211 steps :
197- - uses : actions/download-artifact@v4
212+ - uses : actions/download-artifact@v6
198213 with :
199214 path : dist
200215 pattern : artifact-*
0 commit comments