@@ -14,39 +14,38 @@ 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
4240 - name : Unit tests with pytest
41+ if : ${{ !startsWith(matrix.python-version, 'pypy') }}
4342 run : |
44- poetry run pytest
43+ uv run pytest
4544 env :
4645 COVERAGE_FILE : .coverage.${{ matrix.python-version }}
4746 - name : Upload coverage data
4847 if : success() || failure()
49- uses : actions/upload-artifact@v4
48+ uses : actions/upload-artifact@v7
5049 with :
5150 name : coverage-data-${{ matrix.python-version }}
5251 if-no-files-found : warn
@@ -57,11 +56,11 @@ jobs:
5756 - name : Static typechecking with mypy
5857 if : ${{ !startsWith(matrix.python-version, 'pypy') }}
5958 run : |
60- poetry run mypy ./zammadoo
59+ uv run mypy ./zammadoo
6160 - name : Static code analysis with pylint
6261 if : ${{ !startsWith(matrix.python-version, 'pypy') }}
6362 run : |
64- poetry run pylint ./zammadoo
63+ uv run pylint ./zammadoo
6564
6665 process-test-data :
6766 if : success() || failure()
@@ -70,13 +69,13 @@ jobs:
7069 env :
7170 TOTAL_COVERAGE : ' -'
7271 steps :
73- - uses : actions/checkout@v4
72+ - uses : actions/checkout@v6
7473 - name : Download coverage data
7574 uses : actions/download-artifact@v4
7675 with :
7776 merge-multiple : true
7877 - name : Pipx cache for coverage
79- uses : actions/cache@v4
78+ uses : actions/cache@v5
8079 with :
8180 path : |
8281 /opt/pipx/venvs/coverage
9695 echo "### Total coverage: ${TOTAL}%" >> $GITHUB_STEP_SUMMARY
9796 coverage report
9897 - name : Update coverage badge
99- uses : schneegans/dynamic-badges-action@v1.7 .0
98+ uses : schneegans/dynamic-badges-action@v1.8 .0
10099 with :
101100 auth : ${{ secrets.GIST_SECRET }}
102101 gistID : 1a66c9e88a9e4267f7e0b1d185be98f4
0 commit comments