kind: pipeline
type: docker
name: Django CI/CD

steps:
  # Шаг 1: Установка зависимостей, миграции и тесты
  - name: test
    image: python:3.10
    environment:
      DATABASE_URL: mysql://root@R0sebud:0.0.0.0:3306/w1510415_wp832
    commands:
      - python -m venv .venv
      - source .venv/bin/activate
      - pip install --upgrade pip
      - pip install -r requirements.txt
      - python manage.py migrate
      - flake8 .  # Линтер
      - pytest    # Запуск тестов

  # Шаг 2: Запуск и проверка Telegram-бота
  - name: bot-check
    image: python:3.10
    environment:
      DATABASE_URL: mysql://root@R0sebud:0.0.0.0:3306/w1510415_wp832
    commands:
      - python -m venv .venv
      - source .venv/bin/activate
      - pip install --upgrade pip
      - pip install -r requirements.txt
      - python manage.py run_bot &  # Запуск бота в фоне
      - sleep 5  # Ждём, чтобы бот запустился
      - python test_bot.py  # Проверка работы бота

# services:
#   # Шаг 3: Сервис базы данных MySQL
#   - name: mysql
#     image: mysql:8
#     environment:
#       MYSQL_ROOT_PASSWORD: R0sebud
#       MYSQL_USER: user
#       MYSQL_PASSWORD: password
#       MYSQL_DATABASE: w1510415_wp832

trigger:
  event:
    - push
    - pull_request
