services:
    abacus-schedule-mysql:
        image: mysql:8.0.36
        platform: linux/amd64
        environment:
            - MYSQL_ROOT_PASSWORD=root
            - MYSQL_DATABASE=royalty_accounting
            - MYSQL_USER=royalties
            - MYSQL_PASSWORD=1234
        ports:
            - "6057:3306"
        tmpfs:
            - "/var/lib/mysql"

    abacus-schedule-liquibase-runner:
        image: 437795906767.dkr.ecr.us-east-1.amazonaws.com/royalties-liquibase-runner:latest
        depends_on:
            - abacus-schedule-mysql
        environment:
            - MYSQL_DB_HOST=abacus-schedule-mysql
            - MYSQL_DB_PORT=3306
            - MYSQL_DB_NAME=royalty_accounting
            - MYSQL_DEPLOY_USER=root
            - MYSQL_DEPLOY_PASSWORD=root
            - MYSQL_SERVICE_USER=royalties
            - GITHUB_USER=theorchard
            - GITHUB_REPO=database
            - GITHUB_BRANCH=master
            - GITHUB_REPO_DIR=royalty_accounting

    abacus-schedule-ows-abacus-schedule:
        image: 086679231553.dkr.ecr.us-east-1.amazonaws.com/ows-abacus-schedule:latest
        depends_on:
            - abacus-schedule-liquibase-runner
        environment:
            - MYSQL_DB_HOST=abacus-schedule-mysql
            - MYSQL_DB_PORT=3306
            - MYSQL_DB_USER=royalties
            - MYSQL_DB_PASS=1234
            - MYSQL_DB_NAME=royalty_accounting

    unit-lint:
        depends_on:
            - abacus-schedule-liquibase-runner
        build:
            context: .
            target: unit-lint
        environment:
            - MYSQL_DB_HOST=abacus-schedule-mysql
            - MYSQL_DB_PORT=3306
            - MYSQL_DB_USER=royalties
            - MYSQL_DB_PASS=1234
            - MYSQL_TEST_DB_NAME=royalty_accounting_test
        volumes:
            - .:/var/app

    test-integration:
        depends_on:
            - abacus-schedule-ows-abacus-schedule
        build:
            context: .
            target: test-integration
        environment:
            - MYSQL_DB_HOST=abacus-schedule-mysql
            - MYSQL_DB_PORT=3306
            - MYSQL_DB_USER=royalties
            - MYSQL_DB_PASS=1234
            - MYSQL_DB_NAME=royalty_accounting
            - AWS_ACCESS_KEY_ID
            - AWS_SECRET_ACCESS_KEY
            - AWS_SESSION_TOKEN
            - DD_ENV=${DD_ENV:-qa}
            - DD_SERVICE=ows-abacus-schedule-integration-tests
            - DD_VERSION=${DD_VERSION:-local}
            - DD_SITE=${DD_SITE:-sonymusic-pde.datadoghq.com}
            - DD_AGENT_HOST=host-gateway
            - DD_GIT_REPOSITORY_URL
            - DD_GIT_COMMIT_SHA
            - DD_GIT_BRANCH
            - DD_GIT_COMMIT_AUTHOR_NAME
            - DD_GIT_COMMIT_AUTHOR_EMAIL
            - DD_GIT_COMMIT_MESSAGE
            - JOB_NAME=${JOB_NAME:-}
            - BUILD_NUMBER=${BUILD_NUMBER:-}
            - BUILD_ID=${BUILD_ID:-}
            - JENKINS_URL=${JENKINS_URL:-}
            - BUILD_URL=${BUILD_URL:-}
        extra_hosts:
            - "host-gateway:host-gateway"
        volumes:
            - .:/var/app
