#!/bin/bash
source .env
TAGS=${TAGS:-''}
CONTAINER_NAME=''
BRANCH_NAME=${BRANCH_NAME:-''}

aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 086679231553.dkr.ecr.us-east-1.amazonaws.com
if [ -z "$JOB_NAME" ]; then
  echo "JOB_NAME is not set, building local image..."
  IMAGE_NAME=mobile-test-automation-deploy
  docker compose build deploy
elif [ "$BRANCH_NAME" != "master" ]; then
    echo "Building image for branch $BRANCH_NAME..."
    IMAGE_NAME=mobile-test-automation-deploy
    docker compose build deploy
    CONTAINER_NAME="--name ${JOB_NAME}-${BUILD_NUMBER}"
else
    echo "Pulling image for branch $BRANCH_NAME..."
    IMAGE_NAME=086679231553.dkr.ecr.us-east-1.amazonaws.com/mobile-test-automation
    docker pull $IMAGE_NAME
    CONTAINER_NAME="--name ${JOB_NAME}-${BUILD_NUMBER}"
fi

docker run -v $(pwd)/cucumber_results:/app/cucumber_results \
 -v $(pwd)/apps:/app/apps \
 --rm \
 -e AWS_ACCESS_KEY_ID="$AWS_ACCESS_KEY_ID" \
 -e AWS_SECRET_ACCESS_KEY="$AWS_SECRET_ACCESS_KEY" \
 -e AWS_SESSION_TOKEN="$AWS_SESSION_TOKEN" \
 -e OS="$OS" \
 -e BRAND="$BRAND" \
 -e APPIUM_DEVICE="$APPIUM_DEVICE" \
 -e APPIUM_SDK="$APPIUM_SDK" \
 -e OS_VERSION="$OS_VERSION" \
 -e BROWSERSTACK_USERNAME="$BROWSERSTACK_USERNAME" \
 -e BROWSERSTACK_ACCESS_KEY="$BROWSERSTACK_ACCESS_KEY" \
 -e BROWSERSTACK_BUILD_NAME="$BROWSERSTACK_BUILD_NAME" \
 -e BROWSERSTACK_BUILD="$BROWSERSTACK_BUILD" \
 -e BROWSERSTACK_LOCAL_IDENTIFIER="$BROWSERSTACK_LOCAL_IDENTIFIER" \
 -e USE_BROWSERSTACK="true" \
 -e JOB_NAME="$JOB_NAME" \
 -e BUILD_NUMBER="$BUILD_NUMBER" \
 -e JOB_URL="$JOB_URL" \
 -e JENKINS_URL="$JENKINS_URL" \
 -e GIT_URL="$GIT_URL" \
 -e GIT_COMMIT="$GIT_COMMIT" \
 -e GIT_BRANCH="$GIT_BRANCH" \
 -e DD_ENV=qa \
 -e TAGS="$TAGS" \
 $CONTAINER_NAME \
 $IMAGE_NAME /bin/bash -c "make local_browserstack_$OS"
