---
version: "3.7"
services:

  # Service to actually run the lambda in a Prod like way
  function:
    platform: linux/amd64
    build:
      context: ../..
      dockerfile: lambda/set_track_metadata/Dockerfile
      args:
        version: "local-dev"
    volumes:
      - .:/var/task
    ports:
      - "9000:8080"
    environment:
      - Environment=${Environment}
      - GRAPHQL_GATEWAY_URL=${GRAPHQL_GATEWAY_URL}
      - OA_USER=${OA_USER}
      - AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
      - AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}

  # Service to handle running tests
  lint-and-test:
    platform: linux/amd64
    build:
      context: ../..
      dockerfile: lambda/set_track_metadata/Dockerfile.tests
    volumes:
      - ./src:/var/task/lambda/set_track_metadata/src:cached
      - ./config.py:/var/task/lambda/set_track_metadata/config.py:cached
      - ./tests:/var/task/lambda/set_track_metadata/tests:cached
    ports:
      - "8000:8000"
    environment:
      - Environment=${Environment}
      - SKIP_LINT=0
      - TEST_ARGS=-v
      - COV_REPORT=term  # --cov-report pytest-cov option or OFF (try html!)
