@@ -10,49 +10,72 @@ 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'
33- 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' }}
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+ manylinux :
30+ - ' manylinux2014'
31+ musllinux :
32+ - ' musllinux_1_1'
33+ - ' musllinux_1_2'
34+ # exclude:
35+ # - abi: 'manylinux'
36+ # musllinux: 'musllinux_1_1'
37+ # - abi: 'manylinux'
38+ # musllinux: 'musllinux_1_2'
39+ # - abi: 'musllinux'
40+ # manylinux: 'manylinux2014'
41+ runs-on : ${{ matrix.arch == 'aarch64' && 'ubuntu-22.04-arm' || 'ubuntu-22.04' }}
42+ env :
43+ CIBW_ARCHS : ${{ matrix.arch }}
44+ CIBW_BUILD : ${{ matrix.py }}-${{ matrix.abi }}_${{ matrix.arch }}
45+ CIBW_BUILD_VERBOSITY : ' 1'
46+ CIBW_MANYLINUX_AARCH64_IMAGE : quay.io/pypa/${{ matrix.manylinux }}_${{ matrix.arch }}:latest
47+ CIBW_MANYLINUX_I686_IMAGE : quay.io/pypa/${{ matrix.manylinux }}_${{ matrix.arch }}:latest
48+ CIBW_MANYLINUX_PPC64LE_IMAGE : quay.io/pypa/${{ matrix.manylinux }}_${{ matrix.arch }}:latest
49+ CIBW_MANYLINUX_S390X_IMAGE : quay.io/pypa/${{ matrix.manylinux }}_${{ matrix.arch }}:latest
50+ CIBW_MANYLINUX_X86_64_IMAGE : quay.io/pypa/${{ matrix.manylinux }}_${{ matrix.arch }}:latest
51+ CIBW_MUSLLINUX_AARCH64_IMAGE : quay.io/pypa/${{ matrix.musllinux }}_${{ matrix.arch }}:latest
52+ CIBW_MUSLLINUX_I686_IMAGE : quay.io/pypa/${{ matrix.musllinux }}_${{ matrix.arch }}:latest
53+ CIBW_MUSLLINUX_PPC64LE_IMAGE : quay.io/pypa/${{ matrix.musllinux }}_${{ matrix.arch }}:latest
54+ CIBW_MUSLLINUX_S390X_IMAGE : quay.io/pypa/${{ matrix.musllinux }}_${{ matrix.arch }}:latest
55+ CIBW_MUSLLINUX_X86_64_IMAGE : quay.io/pypa/${{ matrix.musllinux }}_${{ matrix.arch }}:latest
56+ ZSTD_WARNINGS_AS_ERRORS : ' 1'
3957 steps :
4058 - uses : actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
4159 with :
4260 persist-credentials : false
4361
62+ - name : Install uv
63+ uses : astral-sh/setup-uv@d9e0f98d3fc6adb07d1e3d37f3043649ddad06a1 # v6.5.0
64+ with :
65+ version : " 0.8.11"
66+
4467 - name : Set up QEMU
4568 if : ${{ endsWith(matrix.image, 'ppc64le') || endsWith(matrix.image, 's390x') }}
4669 uses : docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0
4770
4871 - name : Build Wheel
4972 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
73+ uvx -p 3.13 [email protected] --output-dir dist 5174
5275 - name : Upload Wheel
5376 uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
5477 with :
55- name : linux-${{ matrix.py }}-${{ matrix.image }}
78+ name : linux-${{ matrix.py }}-${{ matrix.arch }}-${{ matrix.abi }}
5679 path : dist
5780
5881 macos :
@@ -71,27 +94,23 @@ jobs:
7194 - ' x86_64'
7295 runs-on : ${{ matrix.arch == 'x86_64' && 'macos-13' || 'macos-14' }}
7396 env :
74- CIBW_ARCHS : ${{ matrix.arch }}
75- CIBW_BUILD : ${{ matrix.py }}-*
97+ CIBW_ARCHES : ${{ matrix.arch }}
98+ CIBW_BUILD : ${{ matrix.py }}-macosx_${{ matrix.arch }}
7699 CIBW_BUILD_VERBOSITY : ' 1'
77100 ZSTD_WARNINGS_AS_ERRORS : ' 1'
78101 steps :
79- - name : Set up Python
80- uses : actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
81- with :
82- python-version : ' 3.13'
83-
84102 - uses : actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
85103 with :
86104 persist-credentials : false
87105
88- - name : Install Dependencies
89- run : |
90- python -m pip install --require-hashes -r ci/requirements.macoswheels.txt
106+ - name : Install uv
107+ uses : astral-sh/setup-uv@d9e0f98d3fc6adb07d1e3d37f3043649ddad06a1 # v6.5.0
108+ with :
109+ version : " 0.8.11"
91110
92111 - name : Build Wheel
93112 run : |
94- cibuildwheel --output-dir dist
113+ uvx -p 3.13 cibuildwheel@3.1.4 --output-dir dist
95114
96115 - name : Upload Wheel
97116 uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
@@ -104,41 +123,40 @@ jobs:
104123 fail-fast : false
105124 matrix :
106125 py :
107- - ' 3.9 '
108- - ' 3.10 '
109- - ' 3.11 '
110- - ' 3.12 '
111- - ' 3.13 '
112- - ' 3.14 '
126+ - ' cp39 '
127+ - ' cp310 '
128+ - ' cp311 '
129+ - ' cp312 '
130+ - ' cp313 '
131+ - ' cp314 '
113132 arch :
114- - ' x86 '
115- - ' x64 '
116- - ' arm64 '
133+ - ' win32 '
134+ - ' win_amd64 '
135+ - ' win_arm64 '
117136 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' }}
137+ - py : ' cp39'
138+ arch : ' win_arm64'
139+ - py : ' cp310'
140+ arch : ' win_arm64'
141+ runs-on : ${{ matrix.arch == 'win_arm64' && 'windows-11-arm' || 'windows-2022' }}
125142 env :
143+ CIBW_ARCHES : ${{ matrix.arch }}
144+ CIBW_BUILD : ${{ matrix.py }}-${{ matrix.arch }}
145+ CIBW_BUILD_VERBOSITY : ' 1'
126146 ZSTD_WARNINGS_AS_ERRORS : ' 1'
127147 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-
135148 - uses : actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
136149 with :
137150 persist-credentials : false
138151
152+ - name : Install uv
153+ uses : astral-sh/setup-uv@d9e0f98d3fc6adb07d1e3d37f3043649ddad06a1 # v6.5.0
154+ with :
155+ version : " 0.8.11"
156+
139157 - name : Build Wheel
140158 run : |
141- python -m pip wheel -w dist .
159+ uvx -p 3.13 [email protected] --output-dir dist 142160
143161 - name : Upload Wheel
144162 uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
0 commit comments