#!/usr/bin/env bash

set -e

# needs the following environment vars:
# - AWS_ACCESS_KEY_ID
# - AWS_SECRET_ACCESS_KEY
# - AWS_DEFAULT_REGION
# - AWS_ACCOUNT

project=$(jq -r .name package.json)
tag=$(git tag -l --contains HEAD)
version=$(jq -r .version package.json)

if [ "$tag" != "v$version" ]; then
  echo "current version is not tagged so we will not build this version"
  exit 0
fi

pip install --user awscli
eval "$(~/.local/bin/aws ecr get-login)"
domain=${AWS_ACCOUNT}.dkr.ecr.${AWS_DEFAULT_REGION}.amazonaws.com
latest_version=${project}:latest
current_version=${project}:${version}
docker tag ${project} ${domain}/${latest_version}
docker tag ${project} ${domain}/${current_version}
docker push ${domain}/${latest_version}
docker push ${domain}/${current_version}

test -n "$SLACK_TOKEN" && {
  pip install --user slacker-cli
  echo "Container ${current_version} successfully sent to registry" | \
    ~/.local/bin/slacker -c '#deployment' -n 'Docker Registry'
}