Перейти к содержанию

Руководство по разработке

Это руководство содержит инструкции по настройке локальной среды разработки, запуску тестов и участию в проекте Ordinaut.

Настройка локальной среды разработки

Предварительные требования

  • Python 3.12+
  • Docker и Docker Compose
  • Git

Настройка среды

  1. Клонируйте репозиторий:

    git clone https://github.com/yoda-digital/ordinaut.git
    cd ordinaut
    

  2. Создайте виртуальное окружение Python:

    python3 -m venv .venv
    source .venv/bin/activate
    

  3. Установите зависимости:

    pip install -r requirements.txt
    pip install -r observability/requirements.txt
    pip install black flake8 pytest
    

  4. Запустите фоновые службы (PostgreSQL, Redis):

    cd ops/
    docker compose up -d postgres redis
    

Запуск компонентов по отдельности

  • API-сервер:

    uvicorn api.main:app --host 0.0.0.0 --port 8080 --reload
    

  • Планировщик:

    python scheduler/tick.py
    

  • Воркер:

    python workers/runner.py
    

Фреймворк для тестирования

Ordinaut использует pytest для тестирования.

Состояние набора тестов

В настоящее время набор тестов находится на серьезном обслуживании. Известно, что многие тесты не работают. Как подробно описано в test_verification_report.md, фактическое покрытие тестами составляет около 11%.

Участникам следует сосредоточиться на написании новых, работающих тестов для своих функций.

Запуск тестов

# Запустить все тесты (ожидаются сбои)
pytest

# Запустить конкретный рабочий тестовый файл
pytest tests/test_rruler.py

Качество и стандарты кода

Мы используем black для форматирования кода и flake8 для линтинга.

  • Форматировать код: black .
  • Проверить на ошибки: flake8 .

Участие в проекте

  1. Создайте ветку для новой функциональности из main.
  2. Напишите код и включите новые, рабочие тесты для вашей функциональности.
  3. Убедитесь, что проверки качества кода проходят.
  4. Отправьте Pull Request.