@@ -65,15 +65,14 @@ jobs:
6565 gdb --batch --quiet --nx --nh --ex 'py import rpyc; print(rpyc.version.version)'
6666
6767 - name : Set up Python ${{ matrix.python_version }}
68- uses : actions /setup-python @v5
68+ uses : astral-sh /setup-uv @v5
6969 with :
7070 python-version : ${{ matrix.python_version }}
71- cache : ' pip '
72- cache-dependency-path : |
71+ enable- cache : true
72+ cache-dependency-glob : |
7373 **/pyproject.toml
7474 **/requirements*.txt
7575
76-
7776 - name : Verify tag against version
7877 if : github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags')
7978 env :
@@ -122,16 +121,13 @@ jobs:
122121
123122 - name : Install dependencies
124123 run : |
125- pip install --upgrade pip
126- pip install --upgrade wheel build
127- pip install --upgrade flake8 appdirs
128- pip install --upgrade --editable .
124+ uv pip install --upgrade --editable .
129125
130126 - name : Sanity checks
131127 run : PWNLIB_NOTERM=1 python -bb -c 'from pwn import *; print(pwnlib.term.term_mode)'
132128
133129 - name : Install documentation dependencies
134- run : pip install -r docs/requirements.txt
130+ run : uv pip install -r docs/requirements.txt
135131
136132 - name : Disable yama ptrace_scope
137133 run : |
@@ -219,7 +215,7 @@ jobs:
219215
220216 - name : Build source and wheel distributions
221217 run : |
222- python -m build
218+ uv build
223219
224220 - uses : actions/upload-artifact@v4
225221 if : matrix.python_version == '3.10'
@@ -248,11 +244,11 @@ jobs:
248244 - uses : actions/checkout@v4
249245
250246 - name : Set up Python 3.12
251- uses : actions /setup-python @v5
247+ uses : astral-sh /setup-uv @v5
252248 with :
253249 python-version : ' 3.12'
254- cache : ' pip '
255- cache-dependency-path : |
250+ enable- cache : true
251+ cache-dependency-glob : |
256252 **/pyproject.toml
257253 **/requirements*.txt
258254
@@ -288,21 +284,18 @@ jobs:
288284
289285 - name : Install dependencies
290286 run : |
291- pip install --upgrade pip
292- pip install --upgrade wheel build
293- pip install --upgrade flake8 appdirs
294- pip install --upgrade --editable .
287+ uv pip install --upgrade --editable .
295288
296289 - name : Sanity checks
297290 run : PWNLIB_NOTERM=1 python -c 'from pwn import *; print(pwnlib.term.term_mode)'
298291
299292 - name : Install documentation dependencies
300- run : pip install -r docs/requirements.txt
293+ run : uv pip install -r docs/requirements.txt
301294
302295 - name : Coverage Doctests (Android Only)
303296 run : |
304297 source .android.env
305- PWNLIB_NOTERM=1 coverage run -m sphinx -b doctest docs/source docs/build/doctest docs/source/adb.rst
298+ PWNLIB_NOTERM=1 python -bb -m coverage run -m sphinx -b doctest docs/source docs/build/doctest docs/source/adb.rst
306299
307300 - uses : actions/upload-artifact@v4
308301 with :
@@ -318,17 +311,20 @@ jobs:
318311 - uses : actions/checkout@v4
319312
320313 - name : Set up Python 3.12
321- uses : actions /setup-python @v5
314+ uses : astral-sh /setup-uv @v5
322315 with :
323316 python-version : ' 3.12'
317+ enable-cache : true
318+ cache-dependency-glob : |
319+ **/pyproject.toml
320+ **/requirements*.txt
324321
325322 - name : Install dependencies
326323 run : |
327- pip install --upgrade pip
328- pip install --upgrade --editable .
324+ uv pip install --upgrade --editable .
329325
330326 - name : Install documentation dependencies
331- run : pip install -r docs/requirements.txt
327+ run : uv pip install -r docs/requirements.txt
332328
333329 - name : Sanity checks
334330 run : |
0 commit comments