---
services:
  function:
    platform: linux/amd64
    build:
      context: .
      target: deploy
      args:
        version: "local-dev"
    volumes:
      - ./src:/var/task/src
      - ./config.py:/var/task/config.py
    ports:
      - "9000:8080"
    environment:
      ENVIRONMENT: ${ENVIRONMENT:-dev}
      GITHUB_TOKEN: ${GITHUB_TOKEN:-}
      GITHUB_ORG: ${GITHUB_ORG:-}
      SES_EMAIL_SENDER: ${SES_EMAIL_SENDER:-}
      SES_EMAIL_RECIPIENTS: ${SES_EMAIL_RECIPIENTS:-}
      SENTRY_DSN: ${SENTRY_DSN:-}
      AWS_ACCOUNT_ID: ${AWS_ACCOUNT_ID:-}
      AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID:-}
      AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY:-}
      AWS_SESSION_TOKEN: ${AWS_SESSION_TOKEN:-}
      AWS_REGION: ${AWS_REGION:-us-east-1}
      AWS_DEFAULT_REGION: ${AWS_DEFAULT_REGION:-us-east-1}
      DD_ENV: ${DD_ENV:-dev}
      DD_SERVICE: ${DD_SERVICE:-}
      DD_TRACE_ENABLED: ${DD_TRACE_ENABLED:-false}
      DD_ENHANCED_METRICS: ${DD_ENHANCED_METRICS:-false}
      DD_LOCAL_TEST: ${DD_LOCAL_TEST:-true}
      DD_API_KEY: ${DD_API_KEY:-}
      DD_APP_KEY: ${DD_APP_KEY:-}
    env_file:
      - path: .env
        required: false

  lint-and-test:
    platform: linux/amd64
    build:
      context: .
      target: lint-and-test
      args:
        version: "local-dev"
    ports:
      - "8000:8000"
    environment:
      - SKIP_LINT=0
      - TEST_ARGS=-v
      - COV_REPORT=term  # --cov-report pytest-cov option or OFF (try html!)
