version: '3.8'
services:
  service:
    platform: linux/amd64
    build:
      context: .
      target: dev
      args:
        DOCKER_BUILDKIT: 1
      secrets:
        - GITHUB_NPM_TOKEN
    environment:
      - GITHUB_NPM_TOKEN=/run/secrets/GITHUB_NPM_TOKEN
      - ENV=   # set to dev or qa
      - NODE_ENV=dev
      - LOG_LEVEL=info
      - DD_TRACE_ENABLED=false # Prevent datadog tracing
      - SPLIT_API_KEY= # Split API connections
    container_name: martech-snowflake-salesforce-node
    ports:
      - "8080:8080"
    volumes:
      - ./src:/var/app/src
  lint-and-test:
    build:
      context: .
      target: lint-and-test
      args:
        - DOCKER_BUILDKIT=1
      secrets:
        - GITHUB_NPM_TOKEN
    environment:
      - NODE_ENV=test
      - ENV=test
      - GITHUB_NPM_TOKEN=/run/secrets/GITHUB_NPM_TOKEN
  integration-tests:
    build:
      context: .
      target: integration-tests
      args:
        - DOCKER_BUILDKIT=1
      secrets:
        - GITHUB_NPM_TOKEN
    environment:
      - NODE_ENV=test
      - ENV=test
      - GITHUB_NPM_TOKEN=/run/secrets/GITHUB_NPM_TOKEN
secrets:
  GITHUB_NPM_TOKEN:
    environment: "GITHUB_NPM_TOKEN"
