@@ -14,14 +14,25 @@ jobs:
1414 steps :
1515 - uses : actions/checkout@v5
1616
17- - name : Set up Python ${{ matrix.python-version }}
17+ - name : Set up CPython with uv
18+ if : ${{ !contains(matrix.python-version, 'pypy') }}
19+ uses : astral-sh/setup-uv@v6
20+ with :
21+ python-version : ${{ matrix.python-version }}
22+
23+ - name : Set up PyPy without uv
24+ if : ${{ contains(matrix.python-version, 'pypy') }}
1825 uses : actions/setup-python@v6
1926 with :
2027 python-version : ${{ matrix.python-version }}
2128
29+ - name : Set up uv for PyPy
30+ if : ${{ contains(matrix.python-version, 'pypy') }}
31+ uses : astral-sh/setup-uv@v6
32+
2233 - name : Install tox and plugins
2334 run : |
24- python -m pip install tox tox-gh-actions tox-uv uv
35+ uv pip install --system tox tox-gh-actions tox-uv
2536
2637 - name : Run unit tests with tox
2738 run : tox
@@ -37,22 +48,22 @@ jobs:
3748 steps :
3849 - uses : actions/checkout@v5
3950
40- - name : Set up Python 3.13 ( tox runner )
51+ - name : Set up target Python ${{ matrix.python-version }} (for tox discovery )
4152 uses : actions/setup-python@v6
53+ with :
54+ python-version : ${{ matrix.python-version }}
55+
56+ - name : Set up Python 3.13 (tox runner) with uv
57+ uses : astral-sh/setup-uv@v6
4258 with :
4359 python-version : ' 3.13'
4460
4561 - name : Install tox and plugins (with Python 3.13)
4662 run : |
47- python3.13 -m pip install tox tox-gh-actions tox-uv uv
48-
49- - name : Set up target Python ${{ matrix.python-version }}
50- uses : actions/setup-python@v6
51- with :
52- python-version : ${{ matrix.python-version }}
63+ uv pip install --system tox tox-gh-actions tox-uv
5364
5465 - name : Run unit tests with tox for target
5566 shell : bash
5667 run : |
5768 ENV="py${{ matrix.python-version }}"; ENV=${ENV/./}
58- python3.13 -m tox -e "$ENV"
69+ python -m tox -e "$ENV"
0 commit comments