@@ -3,54 +3,58 @@ on: [push]
33
44jobs :
55 test :
6+ name : Setup tests
7+ runs-on : ubuntu-latest
68 strategy :
79 fail-fast : false
810 matrix :
911 python-version : ['3.11', '3.12', '3.13']
10- poetry-version : ['2.1.1']
11- os : [ubuntu-latest]
12- runs-on : ${{ matrix.os }}
12+
1313 steps :
1414 - uses : actions/checkout@v4
15- - uses : actions/setup-python@v5
15+
16+ - name : Install uv
17+ uses : astral-sh/setup-uv@v5
1618 with :
1719 python-version : ${{ matrix.python-version }}
18- - name : Run image
19- uses : abatilo/actions-poetry@v2
20- with :
21- poetry-version : ${{ matrix.poetry-version }}
22- - name : Install dependencies
23- run : poetry install
20+
21+ - name : Install the project
22+ run : uv sync --all-extras --dev
23+
2424 - name : Run tests
25- run : poetry run pytest --cov=./ --cov-report=xml
25+ run : uv run pytest --cov=./ --cov-report=xml
26+
2627 - name : Upload coverage to Codecov
2728 uses : codecov/codecov-action@v4
29+
2830 code-quality :
31+ runs-on : ubuntu-latest
2932 strategy :
3033 fail-fast : false
3134 matrix :
3235 python-version : ['3.11', '3.12', '3.13']
33- poetry-version : ['2.1.1']
34- os : [ubuntu-latest]
35- runs-on : ${{ matrix.os }}
3636 steps :
3737 - uses : actions/checkout@v4
38- - uses : actions/setup-python@v5
38+
39+ - name : Install uv
40+ uses : astral-sh/setup-uv@v5
3941 with :
4042 python-version : ${{ matrix.python-version }}
41- - name : Run image
42- uses : abatilo/actions-poetry@v2
43- with :
44- poetry-version : ${{ matrix.poetry-version }}
45- - name : Install dependencies
46- run : poetry install
43+
44+ - name : Install the project
45+ run : uv sync --all-extras --dev
46+
4747 - name : Run ruff
48- run : poetry run ruff check .
48+ run : uv run ruff check .
49+
4950 - name : Run mypy
50- run : poetry run mypy .
51+ run : uv run mypy .
52+
5153 - name : Run bandit
52- run : poetry run bandit .
54+ run : uv run bandit .
55+
5356 - name : Run safety
54- run : poetry run safety check
57+ run : uv run safety check
58+
5559 - name : Check for acceptable licenses
56- run : poetry run pip-licenses --allow-only="MIT License;BSD License;Python Software Foundation License;Apache Software License;Mozilla Public License 2.0 (MPL 2.0);ISC License (ISCL);The Unlicense (Unlicense)"
60+ run : uv run pip-licenses --allow-only="MIT License;BSD License;Python Software Foundation License;Apache Software License;Mozilla Public License 2.0 (MPL 2.0);ISC License (ISCL);The Unlicense (Unlicense)"
0 commit comments