Этот проект использует GitHub Actions для автоматизации процессов разработки.
Основной pipeline, который запускается при каждом push и pull request:
- Тестирование: Запуск unit и integration тестов
- Проверка качества кода: Линтинг, форматирование, типизация
- Сканирование безопасности: Bandit и Safety проверки
- Сборка Docker образа: Автоматическая сборка и публикация
- Деплой: Автоматический деплой в staging/production
Проверка качества кода:
- Black (форматирование)
- isort (сортировка импортов)
- Flake8 (линтинг)
- MyPy (проверка типов)
- Bandit (безопасность)
- Radon (сложность кода)
Автоматическое обновление зависимостей каждый понедельник.
Автоматическое создание релизов при создании тегов.
Добавьте следующие secrets в настройках репозитория:
GITHUB_TOKEN- автоматически доступен- Дополнительные secrets для деплоя (если нужны)
Создайте environments в настройках репозитория:
staging- для тестового окруженияproduction- для продакшн окружения
Настройте защиту веток:
- Требовать проверку статуса CI
- Требовать актуальные ветки
- Ограничить push в main/develop
make pre-commit-installmake ci-testmake ci-lintmake ci-securityАвтоматически деплоится при push в develop ветку.
Автоматически деплоится при создании release.
Можно запустить workflow вручную через GitHub Actions UI.
- Codecov для покрытия тестами
- GitHub Security для уязвимостей
- Dependabot для обновления зависимостей
- Проверьте логи в GitHub Actions
- Запустите тесты локально:
make ci-test - Проверьте переменные окружения
- Запустите локально:
make ci-lint - Исправьте ошибки автоматически:
make format - Проверьте конфигурацию в
.flake8иpyproject.toml
- Проверьте Dockerfile
- Убедитесь, что все зависимости указаны
- Проверьте логи сборки в Actions