@@ -14,39 +14,42 @@ jobs:
1414 strategy :
1515 fail-fast : false
1616 matrix :
17- python-version : ["3.8 ", "3.9 ", "3.10 ", "3.11 ", "3.12", " pypy-3.10 "]
17+ python-version : ["3.10 ", "3.11 ", "3.12 ", "3.13 ", "pypy-3.11 "]
1818
1919 steps :
20- - uses : actions/checkout@v4
21- - name : Pipx cache for poetry
22- uses : actions/cache@v4
20+ - uses : actions/checkout@v6
21+ - name : Pipx cache for uv
22+ uses : actions/cache@v5
2323 with :
2424 path : |
25- /opt/pipx/venvs/poetry
26- /opt/pipx_bin/poetry
27- key : pipx-venvs-poetry
28- - name : Install poetry
29- run : |
30- pipx install poetry
31- pipx list --verbose
32- - uses : actions/setup-python@v5
25+ /opt/pipx/venvs/uv
26+ /opt/pipx_bin/uv
27+ key : pipx-venvs-uv
28+ - name : Setup uv cache
29+ uses : actions/cache@v5
3330 with :
34- python-version : ${{ matrix.python-version }}
35- cache : ' poetry'
36- - run : |
37- poetry install
38- - name : Patch PyPy dependencies
39- if : ${{ startsWith(matrix.python-version, 'pypy') }}
31+ path : |
32+ /home/runner/.cache/uv
33+ key : ' uv-cache-${{ matrix.python-version }}'
34+ - name : Install uv and sync virtual environment
4035 run : |
41- poetry run pip install --force-reinstall --no-cache rpds-py regex
36+ pipx install uv
37+ uv sync -p ${{ matrix.python-version }}
38+ echo $HOME
39+ du -h $HOME/.cache
40+ # - name: Patch PyPy dependencies
41+ # if: ${{ startsWith(matrix.python-version, 'pypy') }}
42+ # run: |
43+ # uv run pip install --force-reinstall --no-cache rpds-py regex
4244 - name : Unit tests with pytest
45+ if : ${{ !startsWith(matrix.python-version, 'pypy') }}
4346 run : |
44- poetry run pytest
47+ uv run pytest
4548 env :
4649 COVERAGE_FILE : .coverage.${{ matrix.python-version }}
4750 - name : Upload coverage data
4851 if : success() || failure()
49- uses : actions/upload-artifact@v4
52+ uses : actions/upload-artifact@v7
5053 with :
5154 name : coverage-data-${{ matrix.python-version }}
5255 if-no-files-found : warn
@@ -57,11 +60,11 @@ jobs:
5760 - name : Static typechecking with mypy
5861 if : ${{ !startsWith(matrix.python-version, 'pypy') }}
5962 run : |
60- poetry run mypy ./zammadoo
63+ uv run mypy ./zammadoo
6164 - name : Static code analysis with pylint
6265 if : ${{ !startsWith(matrix.python-version, 'pypy') }}
6366 run : |
64- poetry run pylint ./zammadoo
67+ uv run pylint ./zammadoo
6568
6669 process-test-data :
6770 if : success() || failure()
@@ -70,13 +73,13 @@ jobs:
7073 env :
7174 TOTAL_COVERAGE : ' -'
7275 steps :
73- - uses : actions/checkout@v4
76+ - uses : actions/checkout@v6
7477 - name : Download coverage data
7578 uses : actions/download-artifact@v4
7679 with :
7780 merge-multiple : true
7881 - name : Pipx cache for coverage
79- uses : actions/cache@v4
82+ uses : actions/cache@v5
8083 with :
8184 path : |
8285 /opt/pipx/venvs/coverage
0 commit comments