#!/usr/bin/env bash
set -eo pipefail

export PATH=/usr/local/sbin:/usr/sbin:/sbin:/bin:/usr/bin:/usr/local/bin
unset GIT_DIR

if [[ $2 == *dokku* ]]; then
  date -uIseconds
  rm -rf /tmp/build
  mkdir /tmp/build
  cd /tmp/build
  tar -xf -
  echo "-----> Installing dependencies"
  DEBIAN_FRONTEND=noninteractive apt-get install -qq -y git make curl software-properties-common
  echo "-----> Set hostname to dokku.me"
  hostname dokku.me
	echo "-----> Enabling tracing"
	mkdir -p /home/dokku
	echo "export DOKKU_TRACE=1" >> /home/dokku/dokkurc
  echo "-----> Running make install"
  DEBIAN_FRONTEND=noninteractive make install
  echo "-----> Generating keypair..."
  echo -e  "y\n" | ssh-keygen -f /root/.ssh/id_rsa -t rsa -N ''
  echo "-----> Installing SSH public key..."
  PUBLIC_KEY=$(< /root/.ssh/id_rsa.pub)
  echo $PUBLIC_KEY | sudo sshcommand acl-add dokku test
  echo "-----> Intitial SSH connection to populate known_hosts..."
  ssh -o StrictHostKeyChecking=no dokku@dokku.me help > /dev/null
  echo "-----> Running tests"
  cd tests
  for app_path in apps/*; do
    app=$(basename $app_path)
    echo "-----> Running test deploy of $app..."
   ./test_deploy $app_path dokku.me $FORWARDED_PORT
  done
else
  echo "-----> Repository invalid."
fi
