@@ -10,63 +10,67 @@ jobs:
1010 build :
1111 name : Build
1212 runs-on : ubuntu-24.04
13+ env :
14+ PYTHON_VERSION : 3.9
15+ UV_VERSION : 0.9.25
1316
1417 steps :
1518 - name : Checkout repository
16- uses : actions/checkout@v6
19+ uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
1720
18- - name : Setup Python
19- uses : actions /setup-python@v6
21+ - name : Install uv
22+ uses : astral-sh /setup-uv@61cb8a9741eeb8a550a1b8544337180c0fc8476b # v7.2.0
2023 with :
21- python-version : " 3.11"
24+ enable-cache : true
25+ version : ${{ env.UV_VERSION }}
2226
23- - name : Install Poetry
24- uses : snok/install-poetry@v1
27+ - name : " Set up Python"
28+ uses : actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # 6.1.0
29+ with :
30+ python-version : ${{ env.PYTHON_VERSION }}
2531
2632 - name : Install dependencies
27- run : poetry install
33+ run : uv sync --locked --all-extras --dev
2834
2935 - name : Lint
30- run : poetry run black --check .
36+ run : uv run black --check .
3137
3238 - name : Build
33- run : poetry build
39+ run : uv build
3440
35- # the `coverage xml -i` command is needed to re-write the
36- # coverage report with relative paths
3741 - name : Test
38- run : |
39- poetry run pytest --cov src --cov-report xml tests
40- poetry run coverage xml -i
42+ run : uv run pytest
4143
4244 test :
4345 name : Test
4446 runs-on : ubuntu-24.04
4547 strategy :
4648 fail-fast : false
4749 matrix :
48- python-version : ["3.8", "3.9", "3.10", "3.11", "3.12"]
49- poetry-version : ["1.8.2"]
50+ python-version : ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
51+ env :
52+ UV_PYTHON : ${{ matrix.python-version }}
5053
5154 steps :
5255 - name : Checkout repository
53- uses : actions/checkout@v6
56+ uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
5457
55- - name : Setup python
56- uses : actions /setup-python@v6
58+ - name : Install uv
59+ uses : astral-sh /setup-uv@61cb8a9741eeb8a550a1b8544337180c0fc8476b # v7.2.0
5760 with :
58- python-version : " ${{ matrix.python-version }}"
61+ enable-cache : true
62+ version : ${{ env.UV_VERSION }}
5963
60- - name : Install Poetry
61- uses : snok/install-poetry@v1
64+ - name : Setup python
65+ uses : actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # 6.1.0
6266 with :
63- version : " ${{ matrix.poetry -version }}"
67+ python- version : " ${{ matrix.python -version }}"
6468
6569 - name : Install dependencies
66- run : poetry install
70+ run : uv sync --locked --all-extras --dev
6771
6872 - name : Build
69- run : poetry build
73+ run : uv build
7074
7175 - name : Test
72- run : poetry run tox
76+ run : uv run pytest
0 commit comments