services:
  abacus-legacy-sync-mysql-test:
    image: mysql:5.7.31
    platform: linux/amd64
    environment:
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_DATABASE=art_relations_test
      - MYSQL_USER=royalties
      - MYSQL_PASSWORD=1234
      - MYSQL_ROOT_HOST=%
    ports:
      - "6056:3306"
    volumes:
      - "dbdata:/var/lib/mysql"
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
      interval: 10s
      timeout: 5s
      retries: 5

  abacus-legacy-sync-ows-abacus-legacy-sync:
    image: 086679231553.dkr.ecr.us-east-1.amazonaws.com/ows-abacus-legacy-sync:latest
    depends_on:
      abacus-legacy-sync-mysql-test:
        condition: service_healthy
    environment:
      - AR_MYSQL_DB_HOST=abacus-legacy-sync-mysql-test
      - AR_MYSQL_DB_PORT=3306
      - AR_MYSQL_DB_USER=royalties
      - AR_MYSQL_DB_PASS=1234
      - AR_MYSQL_DB_NAME=art_relations_test
      - OWSREQUEST_SERVICE_MAP={"ows-carveouts-python":"abacus-legacy-sync-ows-carveouts-python:8080"}

  unit-lint:
    depends_on:
      abacus-legacy-sync-mysql-test:
        condition: service_healthy
    build:
      context: .
      target: unit-lint
    volumes:
      - .:/var/app
    environment:
      - AR_MYSQL_DB_HOST=abacus-legacy-sync-mysql-test
      - AR_MYSQL_DB_PORT=3306
      - AR_MYSQL_DB_USER=royalties
      - AR_MYSQL_DB_PASS=1234
      - AR_MYSQL_DB_NAME=art_relations_test
      - AR_MYSQL_TEST_DB_NAME=art_relations_test

  abacus-legacy-sync-ows-carveouts-python:
      image: 086679231553.dkr.ecr.us-east-1.amazonaws.com/ows-carveouts-python:latest
      depends_on:
        abacus-legacy-sync-mysql-test:
          condition: service_healthy
      environment:
        - Environment=dev
        - AR_HOST=abacus-legacy-sync-mysql-test
        - AR_USER=royalties
        - AR_PASS=1234
        - AR_DBNAME=art_relations_test

  test-integration:
    depends_on:
      - abacus-legacy-sync-ows-abacus-legacy-sync
      - abacus-legacy-sync-ows-carveouts-python
    build:
      context: .
      target: test-integration
    volumes:
      - .:/var/app
    environment:
      - AR_MYSQL_DB_HOST=abacus-legacy-sync-mysql-test
      - AR_MYSQL_DB_PORT=3306
      - AR_MYSQL_DB_USER=royalties
      - AR_MYSQL_DB_PASS=1234
      - AR_MYSQL_DB_NAME=art_relations_test

volumes:
  dbdata:
