Как запускать тесты Django в Docker с помощью GitHub Actions

Я строю свой первый полный CI/CD конвейер для проекта Django/React.js. В нем используются 2 рабочих процесса: build.yml и deploy.yml. build.yml сначала собирает образы, затем толкает их в GH Packages. Затем он извлекает образы в новом задании и запускает тесты (хотя я думаю, что это неправильно, поскольку я думаю, что задания выполняются параллельно - я еще не добрался до этой части).

Build.yml

docker-compose.yml

version: "3.8"

services:
  db:
    image: postgres:13-alpine
    volumes:
      - postgres_data:/var/lib/postgresql/data/
  backend:
    build: ./backend
    command: python manage.py runserver 0.0.0.0:8000
    volumes:
      - ./backend/:/usr/src/backend/
    ports:
      - 8000:8000
    depends_on:
      - db
  backend-tests:
    image: digibrain_backend:latest
    volumes:
      - ./backend/:/usr/src/backend/
    command: echo Hello world
    env_file:
      - .env
    environment:
      - POSTGRES_USER=user
      - POSTGRES_PASSWORD=password
      - POSTGRES_DB=projectdb
    depends_on:
      - backend
      - db

volumes:
  postgres_data:

Проблема, с которой я сталкиваюсь, заключается в том, что когда мое задание Run Automated Tests запускается docker-compose -f docker-compose.yml up --build, оно застревает, ничего не делая. Тесты выполняются, затем образ просто собирается, а действия ничего не делают.

Нужно ли выключать его после тестов? Любая помощь будет принята с благодарностью.

Вернуться на верх