#!/usr/bin/env bash
#
# HELPER PURPOSE
#
# Download heroku-cli tool, config auth with .netrc
#
# Based on standalone script from https://devcenter.heroku.com/articles/heroku-cli#standalone-installation
#

# Set error handling
set -eu -o pipefail

# HELPER COMMANDS

# Install Heroku CLI
wget https://cli-assets.heroku.com/heroku-v7.30.1/heroku-v7.30.1-linux-x64.tar.gz -O heroku-linux-amd64.tar.gz
sudo mkdir -p /usr/local/lib /usr/local/bin
sudo tar -xzf heroku-linux-amd64.tar.gz -C /usr/local/lib
sudo ln -s /usr/local/lib/heroku/bin/heroku /usr/local/bin/heroku

# Output heroku-cli version so user can see in
# build log what version is being used
heroku --version

# Heroku Repo plugin allows us to clear the git repo, so we can force deploys on circle rebuild
heroku plugins:install heroku-repo

# Heroku CLI Authentication - Netrc file format
# https://devcenter.heroku.com/articles/authentication#netrc-file-format

cat > ~/.netrc << EOF
machine api.heroku.com
	login $HEROKU_LOGIN
	password $HEROKU_AUTH_TOKEN

machine git.heroku.com
	login $HEROKU_LOGIN
	password $HEROKU_AUTH_TOKEN

machine code.heroku.com
	login $HEROKU_LOGIN
	password $HEROKU_AUTH_TOKEN
EOF

# Set umask - owner r+w only
chmod 0600 ~/.netrc
