@@ -13,39 +13,37 @@ jobs:
13
13
fail-fast : false
14
14
matrix :
15
15
os : [ ubuntu-latest, windows-latest ]
16
- python-version : [ "3.11" ]
16
+ python-version : [ "3.11", "3.12" ]
17
17
18
18
steps :
19
19
- name : Check out repository
20
20
uses : actions/checkout@v4
21
21
22
- # 1. Настройка Python
23
22
- name : Set up Python ${{ matrix.python-version }}
24
23
uses : actions/setup-python@v5
25
24
with :
26
25
python-version : ${{ matrix.python-version }}
27
26
28
- # 2. Установка uv
29
- - name : Install uv
30
- run : pip install uv
31
-
32
- # 3. Создание venv и установка зависимостей
33
- - name : Create venv and install dependencies
27
+ - name : Install uv and dependencies
34
28
run : |
29
+ pip install uv
35
30
uv venv
36
31
uv pip install -e ".[dev]"
37
32
38
- # 4. Запуск проверок (единый шаг для всех ОС)
39
- - name : Run Linting and Tests
40
- run : |
41
- echo "--- Running Lint and Format Check ---"
42
- uv run ruff check src/ tests/
43
- uv run ruff format --check src/ tests/
44
-
45
- echo "--- Running Tests with Coverage ---"
46
- uv run coverage run -m unittest discover tests
47
-
48
- # 5. Загрузка отчета
33
+ - name : Run linting and formatting check
34
+ run : .venv/bin/python -m ruff check src/ tests/ && .venv/bin/python -m ruff format --check src/ tests/
35
+ if : runner.os != 'Windows'
36
+ - name : Run linting and formatting check (Windows)
37
+ run : .\.venv\Scripts\python.exe -m ruff check src/ tests/ ; .\.venv\Scripts\python.exe -m ruff format --check src/ tests/
38
+ if : runner.os == 'Windows'
39
+
40
+ - name : Run tests and generate coverage report
41
+ run : .venv/bin/python -m coverage run -m unittest discover tests
42
+ if : runner.os != 'Windows'
43
+ - name : Run tests and generate coverage report (Windows)
44
+ run : .\.venv\Scripts\python.exe -m coverage run -m unittest discover tests
45
+ if : runner.os == 'Windows'
46
+
49
47
- name : Upload coverage reports to Codecov
50
48
uses : codecov/codecov-action@v4
51
49
with :
0 commit comments