services:
  unit-lint:
    platform: linux/amd64
    build:
      context: .
      dockerfile: Dockerfile
      target: unit-lint
      secrets:
        - github_auth
    environment:
      - APPLICATION_ENV=testing
      - Environment=testing
      - AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
      - AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
      - TEST_DB_HOST=test-ar-db
      - TEST_DB_USER=${TEST_DB_USER}
      - TEST_DB_NAME=${TEST_DB_NAME}
      - TEST_DB_PWD=${TEST_DB_PWD}
      - TEST_DB_DRIVER=${TEST_DB_DRIVER}
      - TEST_DB_PORT=${TEST_DB_PORT}
      - BUILD_TYPE=${BUILD_TYPE}
      - DD_TRACE_GENERATE_ROOT_SPAN=false
      - DD_LOGS_INJECTION=false
      - TEST_FILTER
      - SKIP_LINT
      - SKIP_COVERAGE
    env_file:
      - path: .env
        required: false
    volumes:
      - ./build:/var/www/html/build
    depends_on:
      test-ar-db:
        condition: service_healthy

  build-static-files:
    platform: linux/amd64
    build:
      context: .
      dockerfile: Dockerfile
      target: unit-lint
      secrets:
        - github_auth
    environment:
      - GIT_DISCOVERY_ACROSS_FILESYSTEM=1
      - BUILD_TYPE=build-static-files
      - JENKINS_UID
      - JENKINS_GID
      - TEST_FILTER
      - SKIP_LINT=true
      - SKIP_COVERAGE=true
    volumes:
      - ./.git:/var/www/html/.git
      - ./frontend:/var/www/html/frontend
      - ./public:/var/www/html/public

  test-ar-db:
    platform: linux/amd64
    image:
      086679231553.dkr.ecr.us-east-1.amazonaws.com/docker-database-images:art-relations
    pull_policy: always
    environment:
      DB_USER: ${TEST_DB_USER}
      DB_PASSWORD: ${TEST_DB_PWD}
    command: >
      --disable-log-bin
    tmpfs:
      - /var/lib/mysql
    healthcheck:
      interval: 1s
      timeout: 5s
      retries: 180

secrets:
  github_auth:
    environment: GITHUB_AUTH
