This commit is contained in:
@@ -35,7 +35,7 @@ jobs:
|
||||
|
||||
|
||||
|
||||
- name: Run linting and type checking
|
||||
- name: Run linting
|
||||
run: |
|
||||
echo "🔍 Запускаем проверки качества кода..."
|
||||
|
||||
@@ -46,10 +46,21 @@ jobs:
|
||||
# Ruff formatting check
|
||||
echo "🎨 Проверяем форматирование с помощью Ruff..."
|
||||
uv run ruff format . --line-length 120
|
||||
|
||||
# MyPy type checking
|
||||
|
||||
- name: Run type checking
|
||||
run: |
|
||||
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
|
||||
run: |
|
||||
|
||||
10
mypy.ini
10
mypy.ini
@@ -13,8 +13,14 @@ plugins = sqlalchemy.ext.mypy.plugin
|
||||
# Игнорируем missing imports для внешних библиотек
|
||||
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.*]
|
||||
|
||||
Reference in New Issue
Block a user