#!/bin/bash

set -e

version=$1
branch=$2
repo=$3
docker_file_path=$4
context_path=$5
ps_version=$6
vs_version=$7
sw_version=$8
pb_version=$9

docker_repo_host=419827138212.dkr.ecr.us-east-1.amazonaws.com

echo "Building and publishing docker image with next params:"
echo "version: ${version}"
echo "branch: ${branch}"
echo "repo: ${repo}"
echo "docker_file_path: ${docker_file_path}"
echo "context_path: ${context_path}"
echo "pathway_service_version:" ${ps_version}
echo "visualization_service_version:" ${vs_version}
echo "script_worker_vesion:" ${sw_version}
echo "pluto_base_version:" ${pb_version}

echo "Logging in to docker repo..."
$(aws ecr get-login --no-include-email --region us-east-1)

docker build --no-cache --pull -f ${docker_file_path} -t ${repo} \
--build-arg ps_version=${ps_version} \
--build-arg vs_version=${vs_version} \
--build-arg sw_version=${sw_version} \
--build-arg pb_version=${pb_version} \
${context_path}

echo "Pushing image with version: ${version}"
docker tag ${repo} ${docker_repo_host}/${repo}:${version}
docker push ${docker_repo_host}/${repo}:${version}

if [[ ${branch} = "develop" || ${branch} = "master" || ${branch} = "stage" || ${branch} = "dev" ]]; then
    echo "Detected building from develop branch. Pushing image with version: latest."
    docker tag ${repo} ${docker_repo_host}/${repo}:latest
    docker push ${docker_repo_host}/${repo}:latest
fi

