@@ -10,49 +10,71 @@ jobs:
1010 fail-fast : false
1111
1212 matrix :
13- image :
14- - ' manylinux2014_aarch64'
15- - ' musllinux_1_1_aarch64'
16- - ' musllinux_1_2_aarch64'
17- - ' manylinux2014_i686'
18- - ' musllinux_1_2_i686'
19- - ' manylinux2014_ppc64le'
20- - ' musllinux_1_2_ppc64le'
21- - ' manylinux2014_s390x'
22- - ' musllinux_1_2_s390x'
23- - ' manylinux2014_x86_64'
24- - ' musllinux_1_1_x86_64'
25- - ' musllinux_1_2_x86_64'
2613 py :
27- - ' cp39-cp39'
28- - ' cp310-cp310'
29- - ' cp311-cp311'
30- - ' cp312-cp312'
31- - ' cp313-cp313'
32- - ' cp314-cp314'
14+ - ' cp39'
15+ - ' cp310'
16+ - ' cp311'
17+ - ' cp312'
18+ - ' cp313'
19+ - ' cp314'
20+ arch :
21+ - ' aarch64'
22+ - ' i686'
23+ - ' ppc64le'
24+ - ' s390x'
25+ - ' x86_64'
26+ abi :
27+ - ' manylinux'
28+ - ' musllinux'
29+ image :
30+ - ' manylinux2014'
31+ - ' musllinux_1_1'
32+ - ' musllinux_1_2'
3333 exclude :
34- - image : ' musllinux_1_1_aarch64'
35- py : ' cp314-cp314'
36- - image : ' musllinux_1_1_x86_64'
37- py : ' cp314-cp314'
38- runs-on : ${{ endsWith(matrix.image, 'aarch64') && 'ubuntu-22.04-arm' || 'ubuntu-22.04' }}
34+ - abi : ' manylinux'
35+ image : ' musllinux_1_1'
36+ - abi : ' manylinux'
37+ image : ' musllinux_1_2'
38+ - abi : ' musllinux'
39+ image : ' manylinux2014'
40+ runs-on : ${{ matrix.arch == 'aarch64' && 'ubuntu-22.04-arm' || 'ubuntu-22.04' }}
41+ env :
42+ CIBW_ARCHS : ${{ matrix.arch }}
43+ CIBW_BUILD : ${{ matrix.py }}-${{ matrix.abi }}_${{ matrix.arch }}
44+ CIBW_BUILD_VERBOSITY : ' 1'
45+ CIBW_MANYLINUX_AARCH64_IMAGE : quay.io/pypa/${{ matrix.image }}_aarch64:latest
46+ CIBW_MANYLINUX_I686_IMAGE : quay.io/pypa/${{ matrix.image }}_i686:latest
47+ CIBW_MANYLINUX_PPC64LE_IMAGE : quay.io/pypa/${{ matrix.image }}_ppc64le:latest
48+ CIBW_MANYLINUX_S390X_IMAGE : quay.io/pypa/${{ matrix.image }}_s390x:latest
49+ CIBW_MANYLINUX_X86_64_IMAGE : quay.io/pypa/${{ matrix.image }}_x86_64:latest
50+ CIBW_MUSLLINUX_AARCH64_IMAGE : quay.io/pypa/${{ matrix.image }}_aarch64:latest
51+ CIBW_MUSLLINUX_I686_IMAGE : quay.io/pypa/${{ matrix.image }}_i686:latest
52+ CIBW_MUSLLINUX_PPC64LE_IMAGE : quay.io/pypa/${{ matrix.image }}_ppc64le:latest
53+ CIBW_MUSLLINUX_S390X_IMAGE : quay.io/pypa/${{ matrix.image }}_s390x:latest
54+ CIBW_MUSLLINUX_X86_64_IMAGE : quay.io/pypa/${{ matrix.image }}_x86_64:latest
55+ ZSTD_WARNINGS_AS_ERRORS : ' 1'
3956 steps :
4057 - uses : actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
4158 with :
4259 persist-credentials : false
4360
61+ - name : Install uv
62+ uses : astral-sh/setup-uv@d9e0f98d3fc6adb07d1e3d37f3043649ddad06a1 # v6.5.0
63+ with :
64+ version : " 0.8.11"
65+
4466 - name : Set up QEMU
4567 if : ${{ endsWith(matrix.image, 'ppc64le') || endsWith(matrix.image, 's390x') }}
4668 uses : docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0
4769
4870 - name : Build Wheel
4971 run : |
50- docker run -e PYPATH=/opt/python/${{ matrix.py }} -e ZSTD_WARNINGS_AS_ERRORS=1 --rm -v `pwd`:/project quay.io/pypa/${{ matrix.image }} /project/ci/build-manylinux-wheel.sh
72+ uvx -p 3.13 [email protected] --output-dir dist 5173
5274 - name : Upload Wheel
5375 uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
5476 with :
55- name : linux-${{ matrix.py }}-${{ matrix.image }}
77+ name : linux-${{ matrix.py }}-${{ matrix.arch }}-${{ matrix.abi }}-${{ matrix. image }}
5678 path : dist
5779
5880 macos :
@@ -71,27 +93,23 @@ jobs:
7193 - ' x86_64'
7294 runs-on : ${{ matrix.arch == 'x86_64' && 'macos-13' || 'macos-14' }}
7395 env :
74- CIBW_ARCHS : ${{ matrix.arch }}
75- CIBW_BUILD : ${{ matrix.py }}-*
96+ CIBW_ARCHES : ${{ matrix.arch }}
97+ CIBW_BUILD : ${{ matrix.py }}-macosx_${{ matrix.arch }}
7698 CIBW_BUILD_VERBOSITY : ' 1'
7799 ZSTD_WARNINGS_AS_ERRORS : ' 1'
78100 steps :
79- - name : Set up Python
80- uses : actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
81- with :
82- python-version : ' 3.13'
83-
84101 - uses : actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
85102 with :
86103 persist-credentials : false
87104
88- - name : Install Dependencies
89- run : |
90- python -m pip install --require-hashes -r ci/requirements.macoswheels.txt
105+ - name : Install uv
106+ uses : astral-sh/setup-uv@d9e0f98d3fc6adb07d1e3d37f3043649ddad06a1 # v6.5.0
107+ with :
108+ version : " 0.8.11"
91109
92110 - name : Build Wheel
93111 run : |
94- cibuildwheel --output-dir dist
112+ uvx -p 3.13 cibuildwheel@3.1.4 --output-dir dist
95113
96114 - name : Upload Wheel
97115 uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
@@ -104,41 +122,40 @@ jobs:
104122 fail-fast : false
105123 matrix :
106124 py :
107- - ' 3.9 '
108- - ' 3.10 '
109- - ' 3.11 '
110- - ' 3.12 '
111- - ' 3.13 '
112- - ' 3.14 '
125+ - ' cp39 '
126+ - ' cp310 '
127+ - ' cp311 '
128+ - ' cp312 '
129+ - ' cp313 '
130+ - ' cp314 '
113131 arch :
114- - ' x86 '
115- - ' x64 '
116- - ' arm64 '
132+ - ' win32 '
133+ - ' win_amd64 '
134+ - ' win_arm64 '
117135 exclude :
118- - py : ' 3.8'
119- arch : ' arm64'
120- - py : ' 3.9'
121- arch : ' arm64'
122- - py : ' 3.10'
123- arch : ' arm64'
124- runs-on : ${{ matrix.arch == 'arm64' && 'windows-11-arm' || 'windows-2022' }}
136+ - py : ' cp39'
137+ arch : ' win_arm64'
138+ - py : ' cp310'
139+ arch : ' win_arm64'
140+ runs-on : ${{ matrix.arch == 'win_arm64' && 'windows-11-arm' || 'windows-2022' }}
125141 env :
142+ CIBW_ARCHES : ${{ matrix.arch }}
143+ CIBW_BUILD : ${{ matrix.py }}-${{ matrix.arch }}
144+ CIBW_BUILD_VERBOSITY : ' 1'
126145 ZSTD_WARNINGS_AS_ERRORS : ' 1'
127146 steps :
128- - name : Set up Python
129- uses : actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
130- with :
131- python-version : ${{ matrix.py }}
132- architecture : ${{ matrix.arch }}
133- allow-prereleases : true
134-
135147 - uses : actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
136148 with :
137149 persist-credentials : false
138150
151+ - name : Install uv
152+ uses : astral-sh/setup-uv@d9e0f98d3fc6adb07d1e3d37f3043649ddad06a1 # v6.5.0
153+ with :
154+ version : " 0.8.11"
155+
139156 - name : Build Wheel
140157 run : |
141- python -m pip wheel -w dist .
158+ uvx -p 3.13 [email protected] --output-dir dist 142159
143160 - name : Upload Wheel
144161 uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
0 commit comments