#!/usr/bin/env bash

set -ex

cd "$(dirname "$0")"
cd ..

## git config
GIT_REMOTE=$(git config remote.origin.url)
GIT_USER_NAME='CircleCI for ActionHero'
GIT_USER_EMAIL='admin@actionherojs.com'

## Configure a new direcotry to hold the site
rm -rf gh-pages-branch
mkdir gh-pages-branch
cd gh-pages-branch
git init
git remote add --fetch origin "$GIT_REMOTE"
if git rev-parse --verify origin/gh-pages > /dev/null 2>&1
then
    git checkout gh-pages
    git rm -rf .
else
    git checkout --orphan gh-pages
fi
cd ..

## build master's docs
git checkout "master"
rm -rf docs
mkdir docs
npm run docs
cp -a docs/. gh-pages-branch/
touch gh-pages-branch/.nojekyll
mkdir gh-pages-branch/.circleci && cp .circleci/config.yml gh-pages-branch/.circleci/config.yml
cp images/favicon.ico gh-pages-branch/favicon.ico
cp CNAME gh-pages-branch/CNAME

## push it
cd gh-pages-branch
git add -A
git -c user.name="$GIT_USER_NAME" -c user.email="$GIT_USER_EMAIL" commit --allow-empty -m "deploy static site @ $(date)"
git push --force origin gh-pages
cd ..

## clean up
rm -rf gh-pages-branch
echo "Deployment Complete"
