diff --git a/.drone.yml b/.drone.yml index 30f1943..fbfd352 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,84 +1,43 @@ kind: pipeline type: docker -name: quiz-bot-ci +name: multibot-ci trigger: branch: - main - develop + - "feature/*" event: - push - pull_request steps: - name: install-deps - image: python:3.12-slim + image: python:3.11-slim commands: - - echo "Installing dependencies..." - pip install --upgrade pip - pip install -r requirements.txt - - echo "Dependencies installed" - name: lint - image: python:3.12-slim + image: python:3.11-slim commands: - - echo "Installing linting tools..." - - pip install flake8 black isort - - echo "Running Black formatter check (relaxed)..." - - black --check --diff src/ config/ tools/ tests/ || true - - echo "Running isort import sorting check (relaxed)..." - - isort --check-only --diff src/ config/ tools/ tests/ || true - - echo "Running flake8 linting (using .flake8 config)..." - - flake8 src/ config/ tools/ tests/ || true - - echo "Linting completed (warnings only)" - - - name: test - image: python:3.12-slim - commands: - - echo "Installing test dependencies..." - - pip install -r requirements.txt - - pip install pytest - - echo "Running tests..." - - python -m pytest tests/ -v --tb=short || true - - python tests/test_bot.py || true - - echo "Tests completed" + - pip install flake8 + - flake8 . - name: docker-build - image: docker:dind - volumes: - - name: dockersock - path: /var/run/docker.sock - commands: - - echo "Docker version info:" - - docker version - - echo "Building Docker image..." - - docker build -t ${DRONE_REPO_NAME}:latest . - - docker tag ${DRONE_REPO_NAME}:latest ${DRONE_REPO_NAME}:${DRONE_COMMIT_SHA} - - echo "Docker build completed" - - docker images | grep ${DRONE_REPO_NAME} || true + image: plugins/docker:27 + settings: + repo: ${DRONE_REPO} # или ${DRONE_REPO_NAMESPACE}/${DRONE_REPO_NAME} + tags: + - latest + - ${DRONE_COMMIT_SHA} + dockerfile: Dockerfile + # Если не хочешь пушить — добавь: + # dry_run: true - name: docker-test - image: docker:dind - volumes: - - name: dockersock - path: /var/run/docker.sock + image: docker:27-cli commands: - - echo "Testing Docker image..." - - docker run --rm ${DRONE_REPO_NAME}:latest python -c "print('Docker image test successful')" || true - - echo "Docker tests completed" + - docker run --rm ${DRONE_REPO_NAME}:${DRONE_COMMIT_SHA} python -c "print('image ok')" depends_on: - docker-build - - - name: notify - image: alpine:latest - commands: - - echo "Pipeline Summary:" - - echo "Branch ${DRONE_BRANCH}" - - echo "Commit ${DRONE_COMMIT_SHA}" - - echo "Build ${DRONE_BUILD_NUMBER}" - - echo "Quiz Bot CI Pipeline completed successfully!" - -volumes: - - name: dockersock - host: - path: /var/run/docker.sock