@@ -3,54 +3,60 @@ on: [push]
33
44jobs :
55 test :
6+ name : Setup tests
7+ runs-on : ubuntu-latest
68 strategy :
79 fail-fast : false
810 matrix :
9- python-version : ['3.10', '3.11', '3.12']
10- poetry-version : ['1.8.3']
11- os : [ubuntu-latest]
12- runs-on : ${{ matrix.os }}
11+ python-version : ['3.10', '3.11', '3.12', '3.13']
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 project
22+ run : uv sync --all-extras --dev
23+
2424 - name : Run tests
25- run : poetry run pytest --cov=./ --cov-report=xml
26- # - name: Upload coverage to Codecov
27- # uses: codecov/codecov-action@v4
25+ run : uv run pytest --cov=./ --cov-report=xml
26+
27+ - name : Upload coverage to Codecov
28+ uses : codecov/codecov-action@v4
29+
30+
2831 code-quality :
32+ runs-on : ubuntu-latest
2933 strategy :
3034 fail-fast : false
3135 matrix :
32- python-version : ['3.10', '3.11', '3.12']
33- poetry-version : ['1.8.3']
34- os : [ubuntu-latest]
35- runs-on : ${{ matrix.os }}
36+ python-version : ['3.10', '3.11', '3.12', '3.13']
37+
3638 steps :
3739 - uses : actions/checkout@v4
38- - uses : actions/setup-python@v5
40+
41+ - name : Install uv
42+ uses : astral-sh/setup-uv@v5
3943 with :
4044 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
45+
46+ - name : Install the project
47+ run : uv sync --all-extras --dev
48+
4749 - name : Run ruff
48- run : poetry run ruff check .
50+ run : uv run ruff check .
51+
4952 - name : Run mypy
50- run : poetry run mypy .
53+ run : uv run mypy .
54+
5155 - name : Run bandit
52- run : poetry run bandit .
56+ run : uv run bandit .
57+
5358 - name : Run safety
54- run : poetry run safety check -i 70612
59+ run : uv run safety check
60+
5561 - 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);The Unlicense (Unlicense);ISC License (ISCL) "
62+ run : uv run pip-licenses --partial-match -- allow-only="Apache ;BSD;ISCL;MIT; MPL; Unlicense;PSF-2.0 "
0 commit comments