1010 runs-on : ubuntu-latest
1111 strategy :
1212 matrix :
13- python-version : [ '3.10' ]
13+ python-version : [ "3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14" ]
1414
1515 steps :
1616 - uses : actions/checkout@v4
@@ -20,10 +20,12 @@ jobs:
2020 with :
2121 python-version : ${{ matrix.python-version }}
2222 architecture : x64
23- cache : ' pip'
2423
25- - name : Install the requirements
26- run : pip install -r requirements.txt
24+ - name : Install uv
25+ uses : astral-sh/setup-uv@v2
26+
27+ - name : Install the project with dev dependencies
28+ run : uv sync --extra dev
2729
2830 - name : Execute the unittests
2931 run : python3 -m unittest discover tests/unittests
3335 permissions : write-all
3436 strategy :
3537 matrix :
36- python-version : [ '3.10' ]
38+ python-version : [ "3.12" ]
3739
3840 steps :
3941 - uses : actions/checkout@v4
@@ -43,21 +45,22 @@ jobs:
4345 with :
4446 python-version : ${{ matrix.python-version }}
4547 architecture : x64
46- cache : ' pip'
4748
48- - name : Execute the linting checks
49- uses : reviewdog/action-flake8@v3
50- with :
51- github_token : ${{ secrets.GITHUB_TOKEN }}
52- flake8_args : --config=.flake8
53- fail_on_error : true
49+ - name : Install uv
50+ uses : astral-sh/setup-uv@v2
51+
52+ - name : Install ruff
53+ run : uv sync --extra dev
54+
55+ - name : Execute the linting checks with ruff
56+ run : ruff check .
5457
5558 pr-coverage :
5659 runs-on : ubuntu-latest
5760 permissions : write-all
5861 strategy :
5962 matrix :
60- python-version : [ '3.10' ]
63+ python-version : [ "3.12" ]
6164
6265 steps :
6366 - uses : actions/checkout@v4.1.5
@@ -70,10 +73,12 @@ jobs:
7073 with :
7174 python-version : ${{ matrix.python-version }}
7275 architecture : x64
73- cache : ' pip'
7476
75- - name : Install the requirements
76- run : pip install -r requirements.txt && pip install pytest-cov coverage-badge
77+ - name : Install uv
78+ uses : astral-sh/setup-uv@v2
79+
80+ - name : Install the project and coverage tools
81+ run : uv sync --extra dev
7782
7883 - name : Generate the coverage report
7984 run : export PYTHONPATH=$PWD && pytest --junitxml=pytest.xml --cov=. tests/unittests | tee pytest-coverage.txt
@@ -117,7 +122,7 @@ jobs:
117122 runs-on : ubuntu-latest
118123 strategy :
119124 matrix :
120- python-version : [ '3.9' ]
125+ python-version : [ "3.12" ]
121126
122127 steps :
123128 - uses : actions/checkout@v4
@@ -130,10 +135,12 @@ jobs:
130135 with :
131136 python-version : ${{ matrix.python-version }}
132137 architecture : x64
133- cache : ' pip'
134138
135- - name : Install the requirements
136- run : pip install pydoc-markdown==4.6.3 mkdocs mkdocs-material
139+ - name : Install uv
140+ uses : astral-sh/setup-uv@v2
141+
142+ - name : Install documentation tools
143+ run : uv sync --extra docs
137144
138145 - name : Generate documentation
139146 run : pydoc-markdown --render-toc && rm -rf docs/content && mv build/docs/* docs
0 commit comments