---
version: "3.7"
services:
  function:
    # Service to actually run the lambda in a Prod like way
    build:
      context: .
      args:
        version: "local-dev"
    volumes:
      - ./.env:/var/task/.env
    ports:
      - "9000:8080"
    environment:
      - Environment=${Environment}
      - LOGGER_DSN=${LOGGER_DSN}
      - PAYONEER_API_URL=${PAYONEER_API_URL}
      - AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
      - AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
  lint-and-test:
    # Service to handle running tests and other dev tasks (See Makefile)
    entrypoint: /bin/bash -c
    command: ./lint-and-test.sh
    ports:
      - "8000:8000"  # Lint and test script may expose a cov port
    build:
      context: .
      dockerfile: Dockerfile.dev
    environment:
      - SKIP_LINT=0
      - TEST_ARGS=-v
      - COV_REPORT=term  # --cov-report pytest-cov option or OFF (try html!)
      # For use with integration tests
      - AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
      - AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
