11name : Wheels
22
3+ permissions : {}
4+
35on :
46 push :
57 pull_request :
@@ -19,12 +21,14 @@ jobs:
1921 name : Build source distribution
2022 runs-on : ubuntu-latest
2123 steps :
22- - uses : actions/checkout@v6
24+ - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
25+ with :
26+ persist-credentials : false
2327
2428 - name : Build sdist
2529 run : pipx run build --sdist
2630
27- - uses : actions/upload-artifact@v7
31+ - uses : actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
2832 with :
2933 name : sdist
3034 path : dist/*.tar.gz
@@ -59,19 +63,19 @@ jobs:
5963 - name : Disable ptrace security restrictions
6064 run : |
6165 echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
62- - uses : actions/download-artifact@v8
66+ - uses : actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
6367 with :
6468 name : sdist
6569 - name : Extract sdist
6670 run : |
6771 tar zxvf *.tar.gz --strip-components=1
6872 - name : Build wheels
69- uses : pypa/cibuildwheel@v3.4.1
73+ uses : pypa/cibuildwheel@8d2b08b68458a16aeb24b64e68a09ab1c8e82084 # v3.4.1
7074 env :
7175 CIBW_BUILD : " cp3{9..14}{t,}-${{ matrix.wheel_type }}"
7276 CIBW_ARCHS_LINUX : auto
7377 CIBW_ENABLE : cpython-prerelease cpython-freethreading
74- - uses : actions/upload-artifact@v7
78+ - uses : actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
7579 with :
7680 name : ${{ matrix.wheel_type }}-wheels
7781 path : ./wheelhouse/*.whl
@@ -84,13 +88,15 @@ jobs:
8488 matrix :
8589 python_version : ["2.7", "3.7"]
8690 steps :
87- - uses : actions/checkout@v6
88- - uses : actions/download-artifact@v8
91+ - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
92+ with :
93+ persist-credentials : false
94+ - uses : actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
8995 with :
9096 name : " manylinux_x86_64-wheels"
9197 path : dist
9298 - name : Set up Python
93- uses : actions/setup-python@v6
99+ uses : actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
94100 with :
95101 python-version : ' >=3.13'
96102 - name : Set up dependencies
@@ -124,17 +130,20 @@ jobs:
124130 matrix :
125131 python_version : ["3.13"]
126132 steps :
127- - uses : actions/checkout@v6
128- - uses : actions/download-artifact@v8
133+ - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
134+ with :
135+ persist-credentials : false
136+ - uses : actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
129137 with :
130138 name : " manylinux_x86_64-wheels"
131139 path : dist
132140 - name : Install uv
133- uses : astral-sh/setup-uv@v7
141+ uses : astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
134142 with :
135143 version : latest
136144 python-version : ${{ matrix.python_version }}
137145 activate-environment : true
146+ enable-cache : false
138147 - name : Set up dependencies
139148 run : |
140149 sudo apt-get update
@@ -159,12 +168,14 @@ jobs:
159168 matrix :
160169 python_version : ["3.9", "3.10", "3.11", "3.12", "3.13", "3.13t", "3.14", "3.14t"]
161170 steps :
162- - uses : actions/checkout@v6
171+ - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
172+ with :
173+ persist-credentials : false
163174 - name : Set up Python
164- uses : actions/setup-python@v6
175+ uses : actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
165176 with :
166177 python-version : " ${{matrix.python_version}}-dev"
167- - uses : actions/download-artifact@v8
178+ - uses : actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
168179 with :
169180 name : " manylinux_x86_64-wheels"
170181 path : dist
@@ -194,12 +205,14 @@ jobs:
194205 matrix :
195206 python_version : ["3.9", "3.13", "3.14"]
196207 steps :
197- - uses : actions/checkout@v6
208+ - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
209+ with :
210+ persist-credentials : false
198211 - name : Set up Python
199- uses : actions/setup-python@v6
212+ uses : actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
200213 with :
201214 python-version : " ${{matrix.python_version}}-dev"
202- - uses : actions/download-artifact@v8
215+ - uses : actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
203216 with :
204217 name : " manylinux_aarch64-wheels"
205218 path : dist
@@ -232,12 +245,14 @@ jobs:
232245 matrix :
233246 python_version : ["3.13", "3.14"]
234247 steps :
235- - uses : actions/checkout@v6
248+ - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
249+ with :
250+ persist-credentials : false
236251 - name : Set up Python
237- uses : actions/setup-python@v6
252+ uses : actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
238253 with :
239254 python-version : " ${{matrix.python_version}}-dev"
240- - uses : actions/download-artifact@v8
255+ - uses : actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
241256 with :
242257 name : " manylinux_x86_64-wheels"
243258 path : dist
@@ -278,11 +293,13 @@ jobs:
278293 options : --cap-add=SYS_PTRACE
279294
280295 steps :
281- - uses : actions/checkout@v6
296+ - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
297+ with :
298+ persist-credentials : false
282299 - name : Set up dependencies
283300 run : |
284301 apk add --update alpine-sdk bash alpine-sdk python3 python3-dev gdb musl-dbg python3-dbg
285- - uses : actions/download-artifact@v8
302+ - uses : actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
286303 with :
287304 name : " musllinux_x86_64-wheels"
288305 path : dist
@@ -308,7 +325,9 @@ jobs:
308325 options : --cap-add=SYS_PTRACE
309326
310327 steps :
311- - uses : actions/checkout@v6
328+ - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
329+ with :
330+ persist-credentials : false
312331 - name : Set up dependencies
313332 run : |
314333 dnf install -y \
@@ -319,7 +338,7 @@ jobs:
319338 python3-devel
320339 dnf debuginfo-install -y \
321340 python3
322- - uses : actions/download-artifact@v8
341+ - uses : actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
323342 with :
324343 name : " manylinux_x86_64-wheels"
325344 path : dist
@@ -343,7 +362,9 @@ jobs:
343362 image : archlinux
344363 options : --cap-add=SYS_PTRACE --security-opt seccomp=unconfined
345364 steps :
346- - uses : actions/checkout@v6
365+ - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
366+ with :
367+ persist-credentials : false
347368 - name : Set up dependencies
348369 run : |
349370 pacman -Syu --noconfirm \
@@ -356,7 +377,7 @@ jobs:
356377 python-wheel \
357378 elfutils \
358379 debuginfod
359- - uses : actions/download-artifact@v8
380+ - uses : actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
360381 with :
361382 name : " manylinux_x86_64-wheels"
362383 path : dist
@@ -383,7 +404,9 @@ jobs:
383404 options : --cap-add=SYS_PTRACE
384405
385406 steps :
386- - uses : actions/checkout@v6
407+ - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
408+ with :
409+ persist-credentials : false
387410 - name : Set up dependencies
388411 run : |
389412 apt-get update
@@ -394,7 +417,7 @@ jobs:
394417 python3-pip \
395418 python3-venv \
396419 python3-dbg
397- - uses : actions/download-artifact@v8
420+ - uses : actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
398421 with :
399422 name : " manylinux_x86_64-wheels"
400423 path : dist
@@ -416,7 +439,7 @@ jobs:
416439 permissions :
417440 id-token : write # Required to retrieve a Trusted Publishing token
418441 steps :
419- - uses : actions/download-artifact@v8
442+ - uses : actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
420443 with :
421444 # with no name set, it downloads all of the artifacts
422445 path : dist
@@ -425,6 +448,6 @@ jobs:
425448 mv dist/*-wheels/*.whl dist/
426449 rmdir dist/{sdist,*-wheels}
427450 ls -R dist
428- - uses : pypa/gh-action-pypi-publish@release/v1
451+ - uses : pypa/gh-action-pypi-publish@cef221092ed1bacb1cc03d23a2d87d1d172e277b # release/v1
429452 with :
430453 skip_existing : true
0 commit comments