---
services:
  function:
    platform: linux/amd64
    build:
      context: .
      target: deploy
      args:
        version: "local-dev"
    volumes:
      - ./src:/var/app/src
    ports:
      - "9000:8080"
    environment:
      - DD_ENV=dev
      - DD_SERVICE=asset-copy-worker
      - DD_TRACE_ENABLED=false
      - DD_ENHANCED_METRICS=false
      - DD_LOCAL_TEST=true
      - AWS_DEFAULT_REGION=us-east-1
      - AWS_ACCESS_KEY_ID=
      - AWS_SECRET_ACCESS_KEY=
    env_file:
      - path: ./.env
        required: false
  update_poetry_lockfile:
    platform: linux/amd64
    build:
      context: .
      target: poetry-update
    volumes:
        - ./poetry.lock:/var/app/poetry.lock
  unit-lint:
    platform: linux/amd64
    build:
      context: .
      target: unit-lint
    volumes:
      - ./src:/var/app/src
      - ./tests:/var/app/tests
      - ./build:/var/app/build
    environment:
      - SKIP_LINT=0
      - SKIP_TYPE_CHECKS=0
      - SKIP_TESTS=0
      - TEST_ARGS=
      - Environment=test
      - execution_name=test-execution-1
      - export_id=test-export-123
      - part_index=1
      - S3_INPUT_BUCKET=test-input-bucket
      - S3_OUTPUT_BUCKET=test-output-bucket
    env_file:
      - path: ./.env
        required: false
  integration-test:
    platform: linux/amd64
    build:
      context: .
      target: integration-test
    environment:
      - Environment=qa
      - execution_name=test-execution-1
      - export_id=test-export-456
      - part_index=1
      - S3_INPUT_BUCKET=qa-bulk-asset-download-input
      - S3_OUTPUT_BUCKET=qa-bulk-asset-download-output
      - AWS_ACCESS_KEY_ID
      - AWS_SECRET_ACCESS_KEY
      - AWS_SESSION_TOKEN
