version: '3.8'
services:
  mobile-unit-lint:
    platform: linux/amd64
    build:
      context: .
      target: orchardgo
      dockerfile: Dockerfile
    environment:
      - PACKAGECLOUD_TOKEN=${PACKAGECLOUD_TOKEN}
      - GITHUB_TOKEN=${GITHUB_TOKEN}
    command:
      - /bin/bash
      - -c
      - |
        yarn setup && \
        yarn install && \
        yarn test

  orchardgo-pull-request:
    platform: linux/amd64
    build:
      context: .
      target: orchardgo
      dockerfile: Dockerfile
    environment:
      - PACKAGECLOUD_TOKEN=${PACKAGECLOUD_TOKEN}
      - GITHUB_TOKEN=${GITHUB_TOKEN}
    command:
      - /bin/bash
      - -c
      - |
        yarn setup && \
        yarn install && \
        yarn test

  mobile-js-bundle-deploy-qa:
    platform: linux/amd64
    build:
      context: .
      target: orchardgo
      dockerfile: Dockerfile
    environment:
      - PACKAGECLOUD_TOKEN=${PACKAGECLOUD_TOKEN}
      - GITHUB_TOKEN=${GITHUB_TOKEN}
      - PROD_GRAPHQL_BASE=${PROD_GRAPHQL_BASE}
      - PROD_SEGMENT_IOS_WRITE_KEY=${PROD_SEGMENT_IOS_WRITE_KEY}
      - PROD_SEGMENT_ANDROID_WRITE_KEY=${PROD_SEGMENT_ANDROID_WRITE_KEY}
      - PROD_LOG_TO_SENTRY=${PROD_LOG_TO_SENTRY}
      - PROD_CODE_PUSH_ENABLED=${PROD_CODE_PUSH_ENABLED}
      - PROD_CODE_PUSH_ANDROID_DEPLOYMENT_KEY=${PROD_CODE_PUSH_ANDROID_DEPLOYMENT_KEY}
      - PROD_CODE_PUSH_IOS_DEPLOYMENT_KEY=${PROD_CODE_PUSH_IOS_DEPLOYMENT_KEY}
      - PROD_DATADOG_ENABLED=${PROD_DATADOG_ENABLED}
      - PROD_DATADOG_CLIENT_TOKEN=${PROD_DATADOG_CLIENT_TOKEN}
      - PROD_DATADOG_APPLICATION_ID=${PROD_DATADOG_APPLICATION_ID}
      - QA_GRAPHQL_BASE=${QA_GRAPHQL_BASE}
      - QA_SEGMENT_IOS_WRITE_KEY=${QA_SEGMENT_IOS_WRITE_KEY}
      - QA_SEGMENT_ANDROID_WRITE_KEY=${QA_SEGMENT_ANDROID_WRITE_KEY}
      - QA_SENTRY_DSN=${QA_SENTRY_DSN}
      - QA_LOG_TO_SENTRY=${QA_LOG_TO_SENTRY}
      - QA_CODE_PUSH_ENABLED=${QA_CODE_PUSH_ENABLED}
      - QA_CODE_PUSH_ANDROID_DEPLOYMENT_KEY=${QA_CODE_PUSH_ANDROID_DEPLOYMENT_KEY}
      - QA_CODE_PUSH_IOS_DEPLOYMENT_KEY=${QA_CODE_PUSH_IOS_DEPLOYMENT_KEY}
      - QA_DATADOG_ENABLED=${QA_DATADOG_ENABLED}
      - QA_DATADOG_CLIENT_TOKEN=${QA_DATADOG_CLIENT_TOKEN}
      - QA_DATADOG_APPLICATION_ID=${QA_DATADOG_APPLICATION_ID}
      - INTERNAL_TESTING=${INTERNAL_TESTING}
      - POEDITOR_API_TOKEN=${POEDITOR_API_TOKEN}
      - POEDITOR_PROJECT_ID=${POEDITOR_PROJECT_ID}
      - CODE_PUSH_STANDALONE_ACCESS_KEY=${CODE_PUSH_STANDALONE_ACCESS_KEY}
      - SENTRY_ORGANIZATION_NAME=${SENTRY_ORGANIZATION_NAME}
      - QA_SENTRY_PROJECT_NAME=${QA_SENTRY_PROJECT_NAME}
      - SENTRY_AUTH_TOKEN=${SENTRY_AUTH_TOKEN}
      - PROD_SENTRY_PROJECT_NAME=${PROD_SENTRY_PROJECT_NAME}
      - PROD_SENTRY_DSN=${PROD_SENTRY_DSN}
    command:
      - /bin/bash
      - -c
      - |
        git config --global --add safe.directory '*' && \
        yarn remove:dot:env && \
        yarn deploy:js

  mobile-js-bundle-promote:
    platform: linux/amd64
    build:
      context: .
      target: orchardgo
      dockerfile: Dockerfile
    environment:
      - PACKAGECLOUD_TOKEN=${PACKAGECLOUD_TOKEN}
      - GITHUB_TOKEN=${GITHUB_TOKEN}
      - CODE_PUSH_STANDALONE_ACCESS_KEY=${CODE_PUSH_STANDALONE_ACCESS_KEY}
    command:
      - /bin/bash
      - -c
      - |
        git config --global --add safe.directory '*' && \
        yarn remove:dot:env && \
        yarn setup && \
        yarn install && \
        yarn promote

  mobile-codepush-history:
    platform: linux/amd64
    build:
      context: .
      target: orchardgo
      dockerfile: Dockerfile
    environment:
      - PACKAGECLOUD_TOKEN=${PACKAGECLOUD_TOKEN}
      - GITHUB_TOKEN=${GITHUB_TOKEN}
      - CODE_PUSH_STANDALONE_ACCESS_KEY=${CODE_PUSH_STANDALONE_ACCESS_KEY}
      - CODE_PUSH_PROJECT=${CODE_PUSH_PROJECT}
      - CODE_PUSH_ENV=${CODE_PUSH_ENV}
      - CODE_PUSH_FORMAT=${CODE_PUSH_FORMAT}
    command:
      - /bin/bash
      - -c
      - |
        git config --global --add safe.directory '*' && \
        yarn remove:dot:env && \
        yarn setup && \
        yarn install && \
        yarn codepush:history

  mobile-codepush-bundle-enable:
    platform: linux/amd64
    build:
      context: .
      target: orchardgo
      dockerfile: Dockerfile
    environment:
      - PACKAGECLOUD_TOKEN=${PACKAGECLOUD_TOKEN}
      - GITHUB_TOKEN=${GITHUB_TOKEN}
      - CODE_PUSH_STANDALONE_ACCESS_KEY=${CODE_PUSH_STANDALONE_ACCESS_KEY}
      - CODE_PUSH_PROJECT=${CODE_PUSH_PROJECT}
      - CODE_PUSH_ENV=${CODE_PUSH_ENV}
      - CODE_PUSH_TARGET_RELEASE=${CODE_PUSH_TARGET_RELEASE}
      - CODE_PUSH_BUNDLE_ENABLE=${CODE_PUSH_BUNDLE_ENABLE}
    command:
      - /bin/bash
      - -c
      - |
        git config --global --add safe.directory '*' && \
        yarn remove:dot:env && \
        yarn setup && \
        yarn install && \
        yarn codepush:bundle:enable
