---
services:
  dev:
    platform: linux/amd64
    build:
      context: .
      target: deploy
    ports:
      - "9000:8080"
    environment:
      - AWS_ACCESS_KEY_ID
      - AWS_SECRET_ACCESS_KEY
      - AWS_SESSION_TOKEN
      - AWS_DEFAULT_REGION=us-east-1
      - SNOWFLAKE_PRIVATE_KEY_PATH=/var/task/.ssh/snowflake/snowflake_key.p8
      - SNOWFLAKE_KEY_PASSPHRASE
      - SNOWFLAKE_USER_NAME
      - SNOWFLAKE_ACCOUNT
      - SNOWFLAKE_ROLE
      - SNOWFLAKE_SCHEMA
    volumes:
      - ~/.ssh/snowflake:/var/task/.ssh/snowflake:ro
    env_file:
      - path: ./.env
        required: false

  unit-lint:
    platform: linux/amd64
    build:
      context: .
      target: unit-lint
    environment:
      - SKIP_LINT=0
      - SKIP_TYPE_CHECKS=0
      - SKIP_TESTS=0
      - TEST_ARGS=
    volumes:
      - ./build:/var/task/build

  format:
    platform: linux/amd64
    build:
      context: .
      target: format
    volumes:
      - ./src:/var/task/src
      - ./tests:/var/task/tests

  update-lockfile:
    platform: linux/amd64
    build:
      context: .
      target: update-lockfile
    volumes:
      - ./:/var/task
