#!/bin/bash

# Set default value for NODE_DOCKER_DIST if not set
: "${NODE_DOCKER_DIST:=20.14.0-alpine3.19}"

if $BUILD_FROM_SCRATCH ; then
  build_num="$BUILD_NUMBER"
  only_build_num=$(echo $build_num | grep -oE "^[0-9]+")
  if [[ ! $only_build_num ]]; then
    only_build_num="no-build_num"
  fi

  aws ecr get-login-password --region $ECR_REGION | docker login --username AWS --password-stdin $ECR_URL

  git_hash=$(git rev-parse --short HEAD)
  docker_tag=$ENV_NAME-$only_build_num-$git_hash

  docker build -f Dockerfile.aws -t $ECR_URL/$DOCKER_PROJECT$SVC_NAME:$docker_tag --no-cache --quiet --build-arg SSH_KEY="$GLOBAL_CICD_P81_PIPELINE_SSH_KEY" --build-arg STATIC_BUCKET_SECRET=$STATIC_BUCKET_SECRET --build-arg NODEJS_AVAIL_MEMORY=$NODEJS_AVAIL_MEMORY --build-arg NODE_DOCKER_DIST="$NODE_DOCKER_DIST" .
  docker push $ECR_URL/$DOCKER_PROJECT$SVC_NAME:$docker_tag
  status=$?
  if [ $status -eq 0 ]; then
    echo "push successful"
  else
    echo "push failed" && exit 1
  fi
  docker image prune -a
  echo "BUILD_CONTAINER_TAG=$docker_tag" >> $GITHUB_ENV
  echo "VERSION_TO_DEPLOY=$docker_tag" >> $GITHUB_ENV
  echo ":tada: small version created:  **$docker_tag**" >> $GITHUB_STEP_SUMMARY
  #  echo "##teamcity[setParameter name='env.BUILD_CONTAINER_TAG' value='$docker_tag']"
  echo "######################################"
  echo "SMALL VERSION CREATED: $docker_tag"
  echo "######################################"
fi
