@@ -3,10 +3,12 @@ name: Lint
33on : push
44
55jobs :
6+ # Основной джоб для современных версий
67 build :
78 runs-on : ubuntu-latest
89 strategy :
910 matrix :
11+ # Вернули чистый список без 3.9.1
1012 python-version : ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14", "3.14t", "3.15.0-alpha.1"]
1113
1214 steps :
@@ -21,30 +23,53 @@ jobs:
2123 uses : actions/cache@v4
2224 with :
2325 path : ~/.cache/pip
24- key : ${{ runner.os }}-pip-${{ github.workflow }}-${{ hashFiles('requirements_dev.txt') }}
25- restore-keys : |
26- ${{ runner.os }}-pip-${{ github.workflow }}-
26+ key : ${{ runner.os }}-pip-${{ matrix.python-version }}-${{ github.workflow }}-${{ hashFiles('requirements_dev.txt') }}
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+ # A separate job specifically for bug testing in Python 3.9.1 (Linux only)
47+ build-3-9-1 :
48+ runs-on : ubuntu-latest
49+ container : python:3.9.1
50+ steps :
51+ - uses : actions/checkout@v4
52+
53+ - name : Cache pip dependencies
54+ uses : actions/cache@v4
55+ with :
56+ path : ~/.cache/pip
57+ key : debian-pip-3.9.1-${{ github.workflow }}-${{ hashFiles('requirements_dev.txt') }}
2758
2859 - name : Install dependencies
29- shell : bash
3060 run : pip install -r requirements_dev.txt
3161
3262 - name : Install the library
33- shell : bash
3463 run : pip install .
3564
3665 - name : Run ruff
37- shell : bash
3866 run : ruff check transfunctions
3967
4068 - name : Run ruff for tests
41- shell : bash
4269 run : ruff check tests
4370
4471 - name : Run mypy
45- shell : bash
4672 run : mypy --strict transfunctions
4773
4874 - name : Run mypy for tests
49- shell : bash
5075 run : mypy tests --exclude typing
0 commit comments