@@ -3,31 +3,13 @@ name: Lint
33on : push
44
55jobs :
6+ # Основной джоб для современных версий
67 build :
7- runs-on : ${{ matrix.os }}
8+ runs-on : ubuntu-latest
89 strategy :
910 matrix :
10- include :
11- - os : ubuntu-latest
12- python-version : " 3.8"
13- - os : ubuntu-latest
14- python-version : " 3.9"
15- - os : ubuntu-20.04
16- python-version : " 3.9.1"
17- - os : ubuntu-latest
18- python-version : " 3.10" # <--- Вот здесь была главная проблема
19- - os : ubuntu-latest
20- python-version : " 3.11"
21- - os : ubuntu-latest
22- python-version : " 3.12"
23- - os : ubuntu-latest
24- python-version : " 3.13"
25- - os : ubuntu-latest
26- python-version : " 3.14"
27- - os : ubuntu-latest
28- python-version : " 3.14t"
29- - os : ubuntu-latest
30- python-version : " 3.15.0-alpha.1"
11+ # Вернули чистый список без 3.9.1
12+ python-version : ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14", "3.14t", "3.15.0-alpha.1"]
3113
3214 steps :
3315 - uses : actions/checkout@v4
4224 with :
4325 path : ~/.cache/pip
4426 key : ${{ runner.os }}-pip-${{ matrix.python-version }}-${{ github.workflow }}-${{ hashFiles('requirements_dev.txt') }}
45- restore-keys : |
46- ${{ runner.os }}-pip-${{ matrix.python-version }}-${{ github.workflow }}-
47- ${{ runner.os }}-pip-${{ github.workflow }}-
27+
28+ - name : Install dependencies
29+ run : pip install -r requirements_dev.txt
30+
31+ - name : Install the library
32+ run : pip install .
33+
34+ - name : Run ruff
35+ run : ruff check transfunctions
36+
37+ - name : Run ruff for tests
38+ run : ruff check tests
39+
40+ - name : Run mypy
41+ run : mypy --strict transfunctions
42+
43+ - name : Run mypy for tests
44+ run : mypy tests --exclude typing
45+
46+ # Отдельный джоб специально для проблемного патча 3.9.1
47+ build-3-9-1 :
48+ runs-on : ubuntu-latest
49+ container : python:3.9.1 # Запускаем прямо внутри чистого образа 3.9.1
50+ steps :
51+ - uses : actions/checkout@v4
52+
53+ # Нам больше НЕ НУЖЕН actions/setup-python, так как в контейнере уже стоит 3.9.1!
54+
55+ - name : Cache pip dependencies
56+ uses : actions/cache@v4
57+ with :
58+ path : ~/.cache/pip
59+ key : debian-pip-3.9.1-${{ github.workflow }}-${{ hashFiles('requirements_dev.txt') }}
4860
4961 - name : Install dependencies
5062 run : pip install -r requirements_dev.txt
0 commit comments