services:

  unit-lint:
    build:
      context: .
      target: unit-lint
    volumes:
      - .:/var/app

  integration-test:
    build:
      context: .
      target: integration-test
    depends_on:
      sdlc-training-cmollis-deploy:
        condition: service_healthy
    environment:
      - QA_BASE_URL=http://sdlc-training-cmollis-deploy:8080
    volumes:
      - .:/var/app

  sdlc-training-cmollis-dev:
    build:
      context: .
      target: dev
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:5000/hello/"]
      interval: 1m30s
      timeout: 10s
      retries: 3
      start_period: 40s
    environment:
      - Environment=dev
      - DD_ENV=dev
      - DD_SERVICE=ows-sdlc-training-cmollis
      - DD_AGENT_HOST=dev-datadog-agent.dev.theorchard.io
      - DD_TRACE_ENABLED=1
      - DD_PROFILING_ENABLED=1
    volumes:
      - .:/var/app

  sdlc-training-cmollis-deploy:
    build:
      context: .
      target: deploy
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8080/hello/"]
      interval: 1m30s
      timeout: 10s
      retries: 3
      start_period: 40s
    environment:
      - Environment=dev
      - DD_ENV=dev
      - DD_SERVICE=ows-sdlc-training-cmollis
      - DD_AGENT_HOST=dev-datadog-agent.dev.theorchard.io
      - DD_TRACE_ENABLED=1
      - DD_PROFILING_ENABLED=1

  uv-lock-upgrade:
    image: ghcr.io/astral-sh/uv:python3.14-alpine
    working_dir: /var/app
    command: uv lock --upgrade
    volumes:
      - .:/var/app
