@@ -34,16 +34,17 @@ jobs:
3434 'CI: Run cibuildwheel')
3535 )
3636 name : Build sdist
37- runs-on : ubuntu-20.04
37+ runs-on : ubuntu-latest
3838 outputs :
3939 SDIST_NAME : ${{ steps.sdist.outputs.SDIST_NAME }}
4040
4141 steps :
42- - uses : actions/checkout@v4
42+ - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
4343 with :
4444 fetch-depth : 0
45+ persist-credentials : false
4546
46- - uses : actions/setup-python@v5
47+ - uses : actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0
4748 name : Install Python
4849 with :
4950 python-version : ' 3.10'
6970 run : twine check dist/*
7071
7172 - name : Upload sdist result
72- uses : actions/upload-artifact@v4
73+ uses : actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
7374 with :
7475 name : cibw-sdist
7576 path : dist/*.tar.gz
@@ -114,96 +115,73 @@ jobs:
114115 CIBW_TEST_COMMAND : >-
115116 python {package}/ci/check_version_number.py
116117 MACOSX_DEPLOYMENT_TARGET : " 10.12"
117- MPL_DISABLE_FH4 : " yes"
118118 strategy :
119119 matrix :
120120 include :
121- - os : ubuntu-20.04
121+ - os : ubuntu-latest
122122 cibw_archs : " x86_64"
123- - os : ubuntu-20 .04
123+ - os : ubuntu-24 .04-arm
124124 cibw_archs : " aarch64"
125125 - os : windows-latest
126126 cibw_archs : " auto64"
127- - os : macos-12
127+ - os : macos-13
128128 cibw_archs : " x86_64"
129129 - os : macos-14
130130 cibw_archs : " arm64"
131131
132132 steps :
133- - name : Set up QEMU
134- if : matrix.cibw_archs == 'aarch64'
135- uses : docker/setup-qemu-action@v3
136- with :
137- platforms : arm64
138-
139133 - name : Download sdist
140- uses : actions/download-artifact@v4
134+ uses : actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
141135 with :
142136 name : cibw-sdist
143137 path : dist/
144138
145139 - name : Build wheels for CPython 3.13
146- uses : pypa/cibuildwheel@f1859528322d7b29d4493ee241a167807661dfb4 # v2.21.2
140+ uses : pypa/cibuildwheel@ee63bf16da6cddfb925f542f2c7b59ad50e93969 # v2.22.0
147141 with :
148142 package-dir : dist/${{ needs.build_sdist.outputs.SDIST_NAME }}
149143 env :
150144 CIBW_BUILD : " cp313-* cp313t-*"
151- # No free-threading wheels for NumPy; musllinux skipped for main builds also.
152- CIBW_SKIP : " cp313t-win_amd64 *-musllinux_aarch64"
153- CIBW_BUILD_FRONTEND :
154- " pip; args: --pre --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple"
155- CIBW_FREE_THREADED_SUPPORT : true
145+ CIBW_ENABLE : cpython-freethreading
156146 # No free-threading wheels available for aarch64 on Pillow.
157147 CIBW_TEST_SKIP : " cp313t-manylinux_aarch64"
158- # We need pre-releases to get the nightly wheels.
159- CIBW_BEFORE_TEST : >-
160- pip install --pre
161- --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple
162- contourpy numpy pillow
163148 CIBW_ARCHS : ${{ matrix.cibw_archs }}
164149
165150 - name : Build wheels for CPython 3.12
166- uses : pypa/cibuildwheel@f1859528322d7b29d4493ee241a167807661dfb4 # v2.21.2
151+ uses : pypa/cibuildwheel@ee63bf16da6cddfb925f542f2c7b59ad50e93969 # v2.22.0
167152 with :
168153 package-dir : dist/${{ needs.build_sdist.outputs.SDIST_NAME }}
169154 env :
170155 CIBW_BUILD : " cp312-*"
171156 CIBW_ARCHS : ${{ matrix.cibw_archs }}
172157
173158 - name : Build wheels for CPython 3.11
174- uses : pypa/cibuildwheel@f1859528322d7b29d4493ee241a167807661dfb4 # v2.21.2
159+ uses : pypa/cibuildwheel@ee63bf16da6cddfb925f542f2c7b59ad50e93969 # v2.22.0
175160 with :
176161 package-dir : dist/${{ needs.build_sdist.outputs.SDIST_NAME }}
177162 env :
178163 CIBW_BUILD : " cp311-*"
179164 CIBW_ARCHS : ${{ matrix.cibw_archs }}
180165
181166 - name : Build wheels for CPython 3.10
182- uses : pypa/cibuildwheel@f1859528322d7b29d4493ee241a167807661dfb4 # v2.21.2
167+ uses : pypa/cibuildwheel@ee63bf16da6cddfb925f542f2c7b59ad50e93969 # v2.22.0
183168 with :
184169 package-dir : dist/${{ needs.build_sdist.outputs.SDIST_NAME }}
185170 env :
186171 CIBW_BUILD : " cp310-*"
187172 CIBW_ARCHS : ${{ matrix.cibw_archs }}
188173
189174 - name : Build wheels for PyPy
190- uses : pypa/cibuildwheel@f1859528322d7b29d4493ee241a167807661dfb4 # v2.21.2
175+ uses : pypa/cibuildwheel@ee63bf16da6cddfb925f542f2c7b59ad50e93969 # v2.22.0
191176 with :
192177 package-dir : dist/${{ needs.build_sdist.outputs.SDIST_NAME }}
193178 env :
194179 CIBW_BUILD : " pp310-*"
195180 CIBW_ARCHS : ${{ matrix.cibw_archs }}
196- # Work around for https://github.com/pypa/setuptools/issues/4571
197- # This can be removed once kiwisolver has wheels for PyPy 3.10
198- # https://github.com/nucleic/kiwi/pull/182
199- CIBW_BEFORE_TEST : >-
200- export PIP_CONSTRAINT=pypy-constraint.txt &&
201- echo "setuptools!=72.2.0" > $PIP_CONSTRAINT &&
202- pip install kiwisolver &&
203- unset PIP_CONSTRAINT
181+ CIBW_ENABLE : pypy
204182 if : matrix.cibw_archs != 'aarch64' && matrix.os != 'windows-latest'
205183
206- - uses : actions/upload-artifact@v4
184+ - uses : actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
207185 with :
208186 name : cibw-wheels-${{ runner.os }}-${{ matrix.cibw_archs }}
209187 path : ./wheelhouse/*.whl
@@ -221,7 +199,7 @@ jobs:
221199 contents : read
222200 steps :
223201 - name : Download packages
224- uses : actions/download-artifact@v4
202+ uses : actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
225203 with :
226204 pattern : cibw-*
227205 path : dist
@@ -231,9 +209,9 @@ jobs:
231209 run : ls dist
232210
233211 - name : Generate artifact attestation for sdist and wheel
234- uses : actions/attest-build-provenance@1c608d11d69870c2092266b3f9a6f3abbf17002c # v1.4.3
212+ uses : actions/attest-build-provenance@520d128f165991a6c774bcb264f323e3d70747f4 # v2.2.0
235213 with :
236214 subject-path : dist/matplotlib-*
237215
238216 - name : Publish package distributions to PyPI
239- uses : pypa/gh-action-pypi-publish@f7600683efdcb7656dec5b29656edb7bc586e597 # v1.10.3
217+ uses : pypa/gh-action-pypi-publish@76f52bc884231f62b9a034ebfe128415bbaabdfc # v1.12.4
0 commit comments