This commit is contained in:
@@ -35,7 +35,7 @@ jobs:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
- name: Run linting and type checking
|
- name: Run linting
|
||||||
run: |
|
run: |
|
||||||
echo "🔍 Запускаем проверки качества кода..."
|
echo "🔍 Запускаем проверки качества кода..."
|
||||||
|
|
||||||
@@ -46,10 +46,21 @@ jobs:
|
|||||||
# Ruff formatting check
|
# Ruff formatting check
|
||||||
echo "🎨 Проверяем форматирование с помощью Ruff..."
|
echo "🎨 Проверяем форматирование с помощью Ruff..."
|
||||||
uv run ruff format . --line-length 120
|
uv run ruff format . --line-length 120
|
||||||
|
|
||||||
# MyPy type checking
|
- name: Run type checking
|
||||||
|
run: |
|
||||||
echo "🏷️ Проверяем типы с помощью MyPy..."
|
echo "🏷️ Проверяем типы с помощью MyPy..."
|
||||||
uv run mypy . --ignore-missing-imports -v
|
echo "📊 Доступная память:"
|
||||||
|
free -h
|
||||||
|
|
||||||
|
# Пробуем dmypy сначала, если не работает - fallback на обычный mypy
|
||||||
|
if command -v dmypy >/dev/null 2>&1 && uv run dmypy run -- auth/ cache/ orm/ resolvers/ services/ storage/ utils/ --ignore-missing-imports; then
|
||||||
|
echo "✅ dmypy выполнен успешно"
|
||||||
|
else
|
||||||
|
echo "⚠️ dmypy недоступен, используем обычный mypy"
|
||||||
|
# Запускаем mypy только на основных модулях для экономии памяти
|
||||||
|
uv run mypy auth/ cache/ orm/ resolvers/ services/ storage/ utils/ --ignore-missing-imports
|
||||||
|
fi
|
||||||
|
|
||||||
- name: Install Node.js Dependencies
|
- name: Install Node.js Dependencies
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
10
mypy.ini
10
mypy.ini
@@ -13,8 +13,14 @@ plugins = sqlalchemy.ext.mypy.plugin
|
|||||||
# Игнорируем missing imports для внешних библиотек
|
# Игнорируем missing imports для внешних библиотек
|
||||||
ignore_missing_imports = True
|
ignore_missing_imports = True
|
||||||
|
|
||||||
# Временно исключаем только тесты и алембик
|
# Оптимизации производительности
|
||||||
exclude = ^(tests/.*)$
|
cache_dir = .mypy_cache
|
||||||
|
sqlite_cache = True
|
||||||
|
incremental = False
|
||||||
|
show_error_codes = True
|
||||||
|
|
||||||
|
# Исключаем тесты и тяжелые зависимости
|
||||||
|
exclude = ^(tests/.*|.*transformers.*|.*torch.*|.*huggingface.*|.*safetensors.*|.*PIL.*|.*google.*|.*sentence_transformers.*|.*dump/.*|.*node_modules/.*|.*dist/.*)$
|
||||||
|
|
||||||
# Настройки для конкретных модулей
|
# Настройки для конкретных модулей
|
||||||
[mypy-graphql.*]
|
[mypy-graphql.*]
|
||||||
|
|||||||
Reference in New Issue
Block a user