Skip to content

Commit ee3c47e

Browse files
committed
Use UV as a faster pip implementation
1 parent a76db16 commit ee3c47e

File tree

1 file changed

+19
-23
lines changed

1 file changed

+19
-23
lines changed

.github/workflows/ci.yml

+19-23
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)