2017-07-10 22:12:20 +00:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
2017-07-25 00:35:37 +00:00
|
|
|
set -e
|
2017-07-10 22:12:20 +00:00
|
|
|
|
2017-07-24 17:15:56 +00:00
|
|
|
SITE_ENV="prod"
|
2017-07-24 16:16:20 +00:00
|
|
|
REPO=`git config remote.origin.url`
|
|
|
|
SSH_REPO=${REPO/https:\/\/github.com\//git@github.com:}
|
2017-07-24 17:07:24 +00:00
|
|
|
SHA=`git rev-parse --verify HEAD`
|
2017-07-24 23:47:00 +00:00
|
|
|
SOURCE_BRANCH="source"
|
2017-07-24 18:23:40 +00:00
|
|
|
TARGET_BRANCH="master"
|
2017-07-25 00:35:37 +00:00
|
|
|
BUILD_DIR=".build"
|
2017-07-24 16:16:20 +00:00
|
|
|
|
2017-07-25 00:35:37 +00:00
|
|
|
# Prepare the build directory.
|
2017-07-25 01:15:02 +00:00
|
|
|
git clone $REPO $BUILD_DIR
|
2017-07-25 00:35:37 +00:00
|
|
|
pushd $BUILD_DIR
|
|
|
|
git checkout $TARGET_BRANCH || git checkout --orphan $TARGET_BRANCH
|
|
|
|
popd
|
2017-07-25 01:09:32 +00:00
|
|
|
rm -rf ${BUILD_DIR}/**/* || exit 0
|
2017-07-24 23:47:00 +00:00
|
|
|
|
2017-07-25 00:35:37 +00:00
|
|
|
# Re-generate the site.
|
|
|
|
npm run prod
|
2017-07-10 22:12:20 +00:00
|
|
|
vendor/bin/sculpin generate --no-interaction --clean --env=${SITE_ENV}
|
|
|
|
touch output_${SITE_ENV}/.nojekyll
|
2017-07-24 19:06:06 +00:00
|
|
|
|
2017-07-10 22:12:20 +00:00
|
|
|
# Add, commit and push the changes.
|
2017-07-25 00:35:37 +00:00
|
|
|
mv output_${SITE_ENV}/* $BUILD_DIR
|
|
|
|
pushd $BUILD_DIR
|
2017-07-24 23:47:00 +00:00
|
|
|
git add --all .
|
2017-07-25 00:35:37 +00:00
|
|
|
git commit -m "Re-generate site: $SHA"
|
2017-07-24 18:23:40 +00:00
|
|
|
git push $SSH_REPO $TARGET_BRANCH
|
2017-07-25 00:35:37 +00:00
|
|
|
popd
|
|
|
|
|
|
|
|
rm -rf $BUILD_DIR
|